Problème fonction URL compatible.
8 messages
• Page 1 sur 1
- Eremes
- Nouveau WRInaute

- Messages: 12
- Inscription: 9 Juin 2010
Problème fonction URL compatible.
Bonsoir.
Voilà, sur mon forum, j'ai récemment fait en sorte que l'url des topics aient le titre du topic dans l'URL. Le problème, c'est que les lettre a accents ne sont pas transformées en lettres simples mais sont remplacées par des tirets.
Voilà la fonction que j'utilise :
Des idées ?
merci !
Voilà, sur mon forum, j'ai récemment fait en sorte que l'url des topics aient le titre du topic dans l'URL. Le problème, c'est que les lettre a accents ne sont pas transformées en lettres simples mais sont remplacées par des tirets.
Voilà la fonction que j'utilise :
- Code: Tout sélectionner
// Formate un texte pour le transformer en URL-compatible
function formatLink($string,$majuscules=false) {
$string = strtr($string,
'ŠŽšžŸÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöøùúûüýÿ?$,&:()!{}."§_#=/\\;°',
'szszyaaaaaaceeeeiiiinoooooouuuuyaaaaaaceeeeiiiinoooooouuuuyy---------------------');
$string = strtr($string,
array('Þ' => 'TH', 'þ' => 'th', 'Ð' => 'DH', 'ð' => 'dh', '@'=>'-at-',
'ß' => 'ss', 'Œ' => 'OE', 'œ' => 'oe', 'Æ' => 'AE',
'æ' => 'ae', 'µ' => 'u', '+' => '-', 'amp' => 'et'));
$string = preg_replace('|[^A-Z-]|i', '-', $string);
$string = preg_replace('|[\-]+|i', '-', $string);
$string = preg_replace('|-$|i', '', $string);
if(empty($string)) return '-';
return ($majuscules?$string:strtolower($string));
}
Des idées ?
merci !
-

KOogar - WRInaute accro

- Messages: 3974
- Inscription: 16 Nov 2004
Re: Problème fonction URL compatible.
tu as peut-etre un problème autre part comme au niveau de ton fichier .htaccess, tu peux mettre une url qui plante pour voir ? car j'ai testé ta fonction et les accents semblent etre correctement gérer
- Code: Tout sélectionner
<?php echo formatLink("hello_Mr+l'éléphant"); ?>
retourne bien : hello-mr-l-elephant
- Eremes
- Nouveau WRInaute

- Messages: 12
- Inscription: 9 Juin 2010
Re: Problème fonction URL compatible.
Ok merci pour ta réponse.
Un exemple : topic-1795-1-r-gle-du-forum-de-pr-sentation.html
Peut-être que ça vient de l'encodage en UTF-8 ?
Sinon la ligne de mon .htaccess qui gère ça est :
Un exemple : topic-1795-1-r-gle-du-forum-de-pr-sentation.html
Peut-être que ça vient de l'encodage en UTF-8 ?
Sinon la ligne de mon .htaccess qui gère ça est :
- Code: Tout sélectionner
RewriteRule ^(.*)-([0-9]+)-([0-9]+)-([a-z0-9A-Z-]+)\.html$ /$1.php?id=$2&page=$3&titre=$4 [L]
-

KOogar - WRInaute accro

- Messages: 3974
- Inscription: 16 Nov 2004
Re: Problème fonction URL compatible.
ca doit venir de l'encodage en utf8, re encode en latin, donc decode l'utf8
$url = utf8_decode($url);
tu peux également le mettre directement au début de ta fonction
function formatLink($string,$majuscules=false) {
$string = utf8_decode($string);
...
$url = utf8_decode($url);
tu peux également le mettre directement au début de ta fonction
function formatLink($string,$majuscules=false) {
$string = utf8_decode($string);
...
- Sullyvan
- WRInaute discret

- Messages: 90
- Inscription: 20 Mai 2008
Re: Problème fonction URL compatible.
oui c'est un problème typique d'encodage ou les lettres accentuées sont représentées par un ? et donc remplacées par un - (la fonction fonctionne donc bien)
la solution de KOogar devrait corriger le problème, tu peux aussi forcer la conversion lors de la connexion à la base de données ça évite de se poser trop de questions, mais ça va influer sur tout ton forum et donc tu risques d'avoir des soucis ailleurs..
la solution de KOogar devrait corriger le problème, tu peux aussi forcer la conversion lors de la connexion à la base de données ça évite de se poser trop de questions, mais ça va influer sur tout ton forum et donc tu risques d'avoir des soucis ailleurs..
- Eremes
- Nouveau WRInaute

- Messages: 12
- Inscription: 9 Juin 2010
Re: Problème fonction URL compatible.
Je vais essayer, mais il me semble avoir déjà essayé, enfin on verra.
Merci pour vos réponses !
Edit : Rah ça marche toujours pas, j'ai placé
Merci pour vos réponses !
Edit : Rah ça marche toujours pas, j'ai placé
- Code: Tout sélectionner
$string = utf8_decode($string);
- Sullyvan
- WRInaute discret

- Messages: 90
- Inscription: 20 Mai 2008
Re: Problème fonction URL compatible.
as tu essayé de faire un echo de string avant tout traitement ?
il est possible que ta chaine "ŽšžŸÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöøùúûüýÿ?$,&:()!{}."§_#=/\\;°" aussi soit mal encodée, peut-etre qu'un utf8_decode('ŽšžŸÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöøùúûüýÿ?$,&:()!{}."§_#=/\\;°") dans le strstr peut regler la chose..
il est possible que ta chaine "ŽšžŸÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöøùúûüýÿ?$,&:()!{}."§_#=/\\;°" aussi soit mal encodée, peut-etre qu'un utf8_decode('ŽšžŸÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöøùúûüýÿ?$,&:()!{}."§_#=/\\;°") dans le strstr peut regler la chose..
8 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Rendre compatible ancien site et url rewriting
- Problème de flux RSS2.0 valide mais pas compatible netvibes
- cannot redeclare same fonction avec url rewriting....
- Pertinence des adsenses en fonction url
- Fonction date pour redirection url
- [URL Rewriting] Réécriture en fonction de la langue
- PB URL REWRITING dans une fonction
- Url Rewriting en fonction des dossiers
- problème fonction mail
- problème fonction java
Consultez la description détaillée des produits ou services de Google suivants : Google goo.gl
- Calcul du nombre de backlinks
Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées. - Transformer des citations en liens
Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
