Problème de regexp

Eléphant du PHP | 53 Messages

08 avr. 2008, 15:37

Bonjour à tous!

Voilà je suis un peu nulos en expression régulière et j'aimerais appliquer une règle à mon url rewriting :

J'ai déjà ma page "ma-page-elem-ben-0.html" qui est transcrite en "ma-page.php?e=elem&n=ben&num=0"

jusque là ca va j'obtiens facilement ce que je veux avec

Code : Tout sélectionner

RewriteRule ^ma-page-([a-z]+)-([a-z]+)-([0-9]+)\.html$ /www/ma-page.php?e=$1&n=$2&num=$3[L]
Mais parfois, le 2e element (ici "ben") peut lui aussi se composer de tirets!!

genre "ma-page-elem-ben-le-malfrat-0.html" et j'aimerais que ce soit interprété en
"ma-page.php?e=elem&n=ben-le-malfrat&num=0"

qqun à une idée sachant que le nombre de tirets à l'intérieur peut varier de 0 à x!

Merci car là je pers la boule !

|*()

Mammouth du PHP | 19672 Messages

08 avr. 2008, 16:46

Essaye comme ceci :

Code : Tout sélectionner

RewriteRule ^ma-page-([a-z]+)-((?:[a-z]+-)+)([0-9]+)\.html$ /www/ma-page.php?e=$1&n=$2&num=$3[L]
je te laisse le soin de comparer avec ta propre expression ;)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: