Vérification d'une URL en regex

Vérification d'une URL en regex - PHP - Programmation

Marsh Posté le 14-01-2007 à 20:33:42    

Hello,
 
J'aimerai tester si une URL est bien rentré dans un champs texte
pour se faire j'utilise :  

Code :
  1. $masque_url = "^[www.]+[_a-zA-Z0-9.-]+\.[a-zA-Z]$";
  2. if (!ereg($masque_url,$_GET["url_web"]))


 
seulement si je rentre "http://www.site.com/dfgsg.html" cela ne marche pas
qqun saurait m'aider ?

Reply

Marsh Posté le 14-01-2007 à 20:33:42   

Reply

Marsh Posté le 14-01-2007 à 21:46:34    

Plusieurs choses :
- [www.]+, c'est n'importe quoi ;
- preg_match est plus efficace que ereg ;
- ta condition teste si le masque ne matche pas.
 
Si tu veux des bonnes regexp pour une URL, une petite recherche google sur regexp url ou "regular expression" url devrait te donner le choix.
 
Le mieux reste d'aller lire un cours quand même, ça sert largement assez souvent... :spamafote:

Message cité 1 fois
Message édité par sielfried le 14-01-2007 à 21:49:26
Reply

Marsh Posté le 15-01-2007 à 07:30:23    

Essaye plutot ma super duber preg:

 
Code :
  1. $masque_url = "http://www.site.com/dfgsg.html";
  2. if(preg_match($masque_url,$str)) echo 'http://www.site.com/dfgsg.html';
 



Message édité par supermofo le 15-01-2007 à 08:48:16
Reply

Marsh Posté le 15-01-2007 à 09:23:17    

sielfried a écrit :

Plusieurs choses :
- [www.]+, c'est n'importe quoi ;


 
Je ne veux tester que ca donc quel est le soucis ?
 

sielfried a écrit :


- ta condition teste si le masque ne matche pas.


 
C'est exactement ce que je veux tester merci
 
Sur ce  :hello:

Reply

Marsh Posté le 15-01-2007 à 12:39:45    

Notons au passage que le sous-domaine www est largement optionnel (sauf si la config du DNS est foirée), et que je déteste les sites où faut le mettre obligatoirement

Reply

Marsh Posté le 15-01-2007 à 17:08:43    

nycius a écrit :

Je ne veux tester que ca donc quel est le soucis ?


 
[www.]+ veut dire "w ou un point, une ou plusieurs fois". Autrement dit ça revient à [w.]+
 
Tu veux plutôt sûrement qqchose du style (www\.)?


Message édité par sielfried le 15-01-2007 à 17:09:03

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Sujets relatifs:

Leave a Replay

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