8791 sujets

Développement web côté serveur, CMS

Bonjour à tous.

Je dois faire un url rewriting un peu particulier ...

L'url doit ressembler à ça tout en sachant que les espaces et caractères accentués ne peuvent pas être parsés :

search_France_Côtes d´Armor.htm


La règle en htaccess :

RewriteRule ^search_(.*)_(.*)\.html$



J'utilise donc (.*) pour accepter tout les caractères (accentués) mais je ne sais pas comment faire pour indiquer tout sauf l'underscore, qui est mon caractère de séparation.
(Dans ce cas ci : France + Côtes d´Armor)

Des idées ?
Modifié par sharky (21 Mar 2012 - 08:43)
dans ton exemple

search_France_Côtes d´Armor.htm


si tu veux récupérer France et Côte d'Armor, tu fais un truc dans le genre

RewriteRule ^search\_([^_]+)\_([^_]+)\.htm$


ça te renverra France en $1 et Côte d'Armor en $2
Haa Sympa !
Ca fonctionne !
Merci !

Mais peux-tu m'expliquer en 2 mots cette notation ?
Il faut vraiment que j'étudie les expressions régulières Smiley smile
([^_]+)

() capture
[] une liste de caractères
^_ exclure le caractère _ (donc dans ce cas, tous sauf le caractère _)
+ répéter