Mon preg_match est-il correcte syntaxiquement ?!

Discussion dans 'URL Rewriting et .htaccess' créé par thierry8, 2 Avril 2006.

  1. thierry8
    thierry8 WRInaute accro
    Inscrit:
    11 Juillet 2005
    Messages:
    2 728
    J'aime reçus:
    0
    Bonjour,

    Je souhaiterais savoir si mon preg_match est syntaxiquement correcte ?

    Code:
    echo preg_match('`^\/index\.php.*$`iU', $_SERVER['REQUEST_URI']);
    Il est fonctionne, mais d'autre foncitonne également, je vous les mettrais ci-dessous.
    Le but de cette expression régulière est de trouver dans REQUEST_URI, /index.php et derrière cela, il peut se trouver n'importe quoi...

    Cela fonctionne, mais je ne suis pas certain que c'est bon ! :?

    Ces autres syntaxe fonctionne également:
    Code:
    echo preg_match('`^/index.php.*$`iU', $_SERVER['REQUEST_URI']);
    Code:
    echo preg_match('`^/index\.php.*$`iU', $_SERVER['REQUEST_URI']);
    Code:
    echo preg_match('`^\/index.php.*$`iU', $_SERVER['REQUEST_URI']);
    La différence est au niveau des "\".

    Merci de votre aide.
     
  2. smrhp
    smrhp WRInaute discret
    Inscrit:
    3 Août 2005
    Messages:
    144
    J'aime reçus:
    0
    ben si ça fonctionne où est le problème ?? ;)
     
  3. thierry8
    thierry8 WRInaute accro
    Inscrit:
    11 Juillet 2005
    Messages:
    2 728
    J'aime reçus:
    0
    Peut être n'ai je pas prévu un cas, qui peut être source de problème.
    D'où mon interrogation.

    Je ne me limite pas à :
    "Ca marche...super...je ne sais pas comment et pourquoi les trois solutions fonctionnent...mais ça marche !"
     
  4. smrhp
    smrhp WRInaute discret
    Inscrit:
    3 Août 2005
    Messages:
    144
    J'aime reçus:
    0
    ben disons qu'avec ".*" je ne vois pas trop comment tu pourrais avoir oublié de cas ;)

    après garder le caractère d'échappement "\" c'est sûrement mieux. le tout en insensible à la casse j'ai l'impression que ... hormis bien sûr s'il n'ya pas index.php dans l'url ;)
     
  5. thierry8
    thierry8 WRInaute accro
    Inscrit:
    11 Juillet 2005
    Messages:
    2 728
    J'aime reçus:
    0
    Tu as l'impression que ?

    Et pourquoi cela fonctionne avec ou sans "\" ?
     
  6. smrhp
    smrhp WRInaute discret
    Inscrit:
    3 Août 2005
    Messages:
    144
    J'aime reçus:
    0
    j'ai l'impression que ça couvre tout ;) (oublié la fin de la phrase en effet ;) )

    pour le point je dirais que le "." voulant dire n'importe quel caractère ça fonctionne car un "." est justement un n'importe quel caractère ;)... Donc ça fonctionnerait aussi avec indexwphp (s'il n'y a pas le caractère échappement... ta 3ème proposition).

    et pour le premier "/" n'étant en fait pas un métacaractère, le "\" n'est pas utile... Mais "\/" n'ayant pas d'autre signification (comme \b par exemple), le "/" devient un appel "litéral" à "/" donc équivalent...

    donc la bonne serait sûrement plutôt :
    Code:
    echo preg_match('`^/index\.php.*$`iU', $_SERVER['REQUEST_URI']);
    pour être "nickel" ;)
     
  7. thierry8
    thierry8 WRInaute accro
    Inscrit:
    11 Juillet 2005
    Messages:
    2 728
    J'aime reçus:
    0
    ok, impeccable.

    Je te remercie de ton aide.
     
  8. invaderu
    invaderu WRInaute discret
    Inscrit:
    16 Décembre 2005
    Messages:
    57
    J'aime reçus:
    0
    Alors en lisant ton code, je dirais que la difference entre la 1 et la 4 c'est que avec la 4 : "index1php.php" var etre considere comme faisant parti de la chaine, alors que la regle 1 le reconnaitra pas.
    Tout simplement car dans la regle 1, tu echapes le "." et donc ca doit etre un point qui separe index et php , alors que dans la regle 4 tu n'echapes pas le . donc ca peut etre n'importe quel caratere entre index et php

    C'est la meme chose entre la regle 2 et 3.

    Apres la difference entre le couple 2,3 et 1,4 c'est juste un echapement non necessaire il me semble
     
Chargement...
Similar Threads - preg_match correcte syntaxiquement Forum Date
Problème de preg_match(). Développement d'un site Web ou d'une appli mobile 15 Mai 2020
Preg_match et bobo à la tête :) Développement d'un site Web ou d'une appli mobile 28 Janvier 2013
preg_match toute simple mais blocage... Référencement Google 16 Décembre 2011
preg_match d'un lien href Débuter en référencement 16 Novembre 2010
preg_match_all et cellule d'un tableau Développement d'un site Web ou d'une appli mobile 28 Mai 2010
Utilisation preg_match URL Rewriting et .htaccess 30 Mars 2010
PREG_MATCH Développement d'un site Web ou d'une appli mobile 5 Février 2009
Demande d'aide pour expression régulière et preg_match_all Développement d'un site Web ou d'une appli mobile 16 Octobre 2008
Warning: preg_match() [function.preg-match]: Développement d'un site Web ou d'une appli mobile 22 Août 2008
[résolu] Preg_match et récupération du nom de la page Développement d'un site Web ou d'une appli mobile 16 Juin 2008
Q° expression rationnelle (preg_match) [je suis bloqué] Développement d'un site Web ou d'une appli mobile 2 Mars 2008
regex preg_match Développement d'un site Web ou d'une appli mobile 8 Octobre 2007
PHP - preg_match_all() et expressions regulieres Développement d'un site Web ou d'une appli mobile 24 Août 2007
Question expressions régulières preg_match_all PHP Développement d'un site Web ou d'une appli mobile 19 Août 2007
preg_match synthaxe bien compliqué à comprendre !!! Administration d'un site Web 5 Juillet 2007
Une recherche dans une variable avec un preg_match(); URL Rewriting et .htaccess 12 Mai 2006
preg_match() & strpos() Développement d'un site Web ou d'une appli mobile 28 Avril 2006
Preg_match -> objectif bbcode ! Développement d'un site Web ou d'une appli mobile 15 Décembre 2005
preg_match... Développement d'un site Web ou d'une appli mobile 10 Décembre 2005
definition d'un preg_match Développement d'un site Web ou d'une appli mobile 27 Octobre 2005