regex pour rewrit accents et cactères interdits dans un url

  • Auteur de la discussion Auteur de la discussion yule
  • Date de début Date de début
WRInaute occasionnel
Bonjour,

Connaissez vous le regex utilisé sur dotclear qui permet pour le rewrinting de changer un terme comme celui-ci (ou un autre regex..)

Google Code Jam 2006 : c'est parti !

Par ceci

google-code-jam-2006-c-est-parti

-Donc apparement, il supprime(ou remplace par rien) les carctères interdits dans un url comme @*%&/ etc....
-Le majuscule passe en minuscule
- les espaces sont remplacés par un -
Etc...

Existe t'il un regex qui fasse tout ça (si seulement vous me répondrez peut-être... rire)

D'avance merci de vos tuyaux
Cordialement
Yule
 
WRInaute passionné
En php ça donnerait ça :
Code:
$phrase="Google Code Jam 2006 : c'est parti";
$regex=preg_replace('!\'| !','-',htmlentities(strtolower($phrase)));
echo $regex;
 
WRInaute discret
Si je me souviens bien, DC remplace également les caractères accentuées par leur version sans accent.
 
WRInaute occasionnel
obi a dit:
Si je me souviens bien, DC remplace également les caractères accentuées par leur version sans accent.

Merci David mais comme l'a dit obi.. il remplace (DC) les carcatères accentués

A+
Yule
 
WRInaute discret
Perso j'utilise ça:

Code:
function asHtmlId($txt) {
 //switch accents to simpler text
 $txt=strtr($txt,"éèëêàäâùüûöôïïüûç","eeeeaaauuuooiiuuc");
 //replace non alpha-numerical chars sequences by -
$txt =  trim(preg_replace('@([^a-z|A-Z|0-9|-])+@', '-', strtolower($txt)), "-");
return preg_replace('@([-])+@', '-', $txt); //remove dashes nplications
}
 
Discussions similaires
Haut