|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : août 2004 Messages : 4 ![]() |
Bonsoir à tous,
Je suis en train de développer un site, en utilisant l'URL rewriting. Mais au lieu d'écrire l'url modifié dans le code HTML, je veux que ça soit automatique en utilisant les expressions régulières avec preg_match_all() et le remplacement avec sprintf(). exemple : Code :
$url = "index.php?lg=fr&test=toto"; L'url retourné est celle donné par sprintf, et non pas du dernier return (comme je l'esperais) qui devrait être l'url de départ. J'ai bien mis l'option Ungreedy, mais ça déconne quelque part (enfin, c'est moi plutôt) et je n'arrive pas a trouver ou. L'idée est d'avoir plusieurs if avec des preg_match_all et de trouver la regex qui correspond à l'URL, mais si ça bloque déjà sur la première regex ça va pas :/ |
||
|
|
00
|
|
|
#2 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Vous devriez ajouter dans ce cas les ancrages de début (^) et fin de ligne (ou texte si le flag m est présent) ($) :
Code :
if(preg_match_all("#^index\.php\?lg=([a-z]{2})$#Ui", ... En espérant avoir bien saisi votre problème, Julp. |
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : août 2004 Messages : 4 ![]() |
Ah merci !
j'ai pas pensé à utiliser ^ $... voilà ma fonction a quoi elle ressemblera en gros au final : Code :
|
||
|
|
00
|
|
|
#4 | ||
|
Invité de passage
![]() Inscription : août 2004 Messages : 4 ![]() |
voilà ma fonction :
Code :
Mais pour que ça soit plus simple, je voudrais avoir un tableau qui me retourne le nom de la page, les arguments, et les valeurs des arguments. Donc j'en suis arrivé à ça : Code :
preg_match_all("#^([\w-\.]+)\?(([\w-]+)=([\w-]*)(&?)+)$#si", $url, $matched, PREG_SET_ORDER); |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com