Qui maitrise la fonction "preg_match" ?

Qui maitrise la fonction "preg_match" ? - PHP - Programmation

Marsh Posté le 06-06-2002 à 20:01:14    

Voilà, je voudrais tester la validité synthaxique d'une url.
 
(!preg_match("http:\/\/+/^[-a-z0-9\._]+\.[a-z]{2,4}$/i", $url))
 
Mais ca me plante une erreur !  :o

Reply

Marsh Posté le 06-06-2002 à 20:01:14   

Reply

Marsh Posté le 07-06-2002 à 03:52:57    

Je ne connais pas précisément cette fonction, mais c'est censé être quoi les délimiteurs de la Regex? // ? (Je suppose que oui puisque tu termines par /i)
Parce que dans ce cas:
1. ta regex devrait commencer par un /
2. tu as un / qui traîne au milieu de ta regex et qui n'est pas échappé ( "http:\/\/+/^[-a-z0-9\._]+\.[a-z]{2,4}$/i" )
3. je ne vois pas ce que vient foutre le 1° + là où il est
4. je ne vois pas non plus ce que vient foutre le début de chaîne ( ^ ) en plein milieu de la regex sans \ ( "http:\/\/+/^[-a-z0-9\._]+\.[a-z]{2,4}$/i" )
 
Je ne sais pas si ça t'aidera, mais bon... En tout cas, les problèmes 3 et 4 (encore que pour le 4, ça dépend), il ne devrait pas y avoir de problème pour la fonction, juste un mauvais résultat...

Reply

Marsh Posté le 07-06-2002 à 14:54:49    

Merci Toucouch, effectivement, je m etais gravement loupé dans la synthaxe, voici le corrigé :
 
(!preg_match("/http:\/\/+[-a-z0-9\.]+\.[a-z]{2,4}$/i", $url))
 
 
le résultat semble coherant !
merci  ;)

Reply

Marsh Posté le 07-06-2002 à 16:53:06    

Le premier plus est toujours là... et je ne comprends pas trop pourquoi tu le laisses. Car dans ce cas une adresse du type :
http://///////www.monsite.com
devrait fonctionner.
 
Pour des RegExp prêtes va sur www.phpinfo.net.

Reply

Marsh Posté le 07-06-2002 à 18:40:24    

Dost67 a écrit a écrit :

Le premier plus est toujours là... et je ne comprends pas trop pourquoi tu le laisses. Car dans ce cas une adresse du type :
http://///////www.monsite.com
devrait fonctionner.
 
Pour des RegExp prêtes va sur www.phpinfo.net.  




Je n vois effectivement pas l'intérêt du +... :??:
 
Pour les regex toutes faites, c'est moins drôle! ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed