Tester une URL avec une regex [Résolu]

Messages postés
97
Date d'inscription
samedi 12 mars 2005
Statut
Membre
Dernière intervention
24 octobre 2007
- - Dernière réponse : cs_Anthomicro
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
- 4 juil. 2005 à 12:42
preg_match("
!(((https?|ftp)://(w{3}\.)?)(?<\!www)(\w+-?)*\.([a-z]{2,4}))!",$unsafe)



Est-ce que quelqu'un pourrait me dire si ce test peut être utilisé pour vérifier le format d'une adresse Internet ou FTP ?



Merci...




LNP...


pour vous...
Afficher la suite 

Votre réponse

16 réponses

Meilleure réponse
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
26
3
Merci
anthomicro, ton expreg ne fonctionne pas car ce n'est pas ftps mais sftp !



il faut utiliser celle la à la place :



/(https?|s?ftp|news):\/\/w{3}\.?\S/

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 154 internautes nous ont dit merci ce mois-ci

Commenter la réponse de coucou747
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
26
0
Merci
ma source :



echo preg_match("!(((https?|ftp)://(w{3}\.)?)(?<\!www)(\w+-?)*\.([a-z]{2,4}))!",'moi : http://www.coucou747.hopto.org lol');



le résultat :



Warning: preg_match(): Compilation failed: unrecognized character
after (?< at offset 30 in /var/www/html/1.php on line 16


voila, ton expreg n'est pas valide, si t'avais testé, t'aurais compris ça facilement...



celle ci marche :



echo preg_match("/[fh]t?tps?:\/\/w{3}\.?\S/",'moi : ftp://www.coucou747.hopto.org lol');



son dérfaut : elle prends aussi fttps ou ftps (or c'est sftp)...

donc, si tu peux ftp, ftps, http et https, il faut deux expressions
régulières (enfin, je ne vois pas comment faire autrement, pourtant, il
doit y avoir un moyen...)




In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Commenter la réponse de coucou747
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
0
Merci
Salut,



au pire :



echo preg_match("/(https?|ftps?|news):\/\/w{3}\.?\S/",'moi : ftp://www.coucou747.hopto.org lol');



Essaie si ça marche, je sais pas mais bon on verra bien ^^

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Commenter la réponse de cs_Anthomicro
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
26
0
Merci
joli, je ne savais pas que le or pouvait donner le choix entre
plusieurs groupes de lettres, je croyais qu'on ne l'utilisais que pour
une lettre...


In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Commenter la réponse de coucou747
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
0
Merci
ça marche?

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Commenter la réponse de cs_Anthomicro
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
26
0
Merci
aparement...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Commenter la réponse de coucou747
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
0
Merci
ok ;-)

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Commenter la réponse de cs_Anthomicro
Messages postés
97
Date d'inscription
samedi 12 mars 2005
Statut
Membre
Dernière intervention
24 octobre 2007
0
Merci
Salut,



Désolé j'avais laissé de côté ce problème mais je ne l'avais pas oublié ! ! !

Cette regex, "/[fh]t?tps?:\/\/w{3}\.?\S/", me semble pas mal en attendant une meilleure, si une meilleure existe...



Juste une précision, est-ce que celle-là te semble correcte :
"!([fh]t?tps?:\/\/)?(w{3}\.?)?\S!" ? J'ai rajouté des parenthèses pour
rendre optionnel l'écriture de "http://" et/ou "www"... J'ai fait
quelques tests, elle semble convenir.

Si vous avez des critiques... Postez-les ! ! !



Merci...

particulièrement à coucou747 et à AnthoMicro


LNP...

pour vous...



http://manuelpayet.free.fr
Commenter la réponse de lnp
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
0
Merci
"J'ai fait quelques tests, elle semble convenir."



La réponse à ta question est là ;-)

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Commenter la réponse de cs_Anthomicro
Messages postés
97
Date d'inscription
samedi 12 mars 2005
Statut
Membre
Dernière intervention
24 octobre 2007
0
Merci
Je ne poste des messages par hasard... comme tu
sembles le dire. Si je demande, si oui ou non cette regex convient,
alors j'aimerai savoir si il y a quelques critiques...




LNP...


pour vous...





http://manuelpayet.free.fr





###### Je m'exprimerai autrement à l'avenir... pour que tout le monde comprenne... ######
Commenter la réponse de lnp
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
0
Merci
"

anthomicro, ton expreg ne fonctionne pas car ce n'est pas ftps mais sftp !"



Hum mdr oki désolé j'avais pas fait gaffe :-)

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Commenter la réponse de cs_Anthomicro
Messages postés
97
Date d'inscription
samedi 12 mars 2005
Statut
Membre
Dernière intervention
24 octobre 2007
0
Merci
No souci ! ! !


LNP...

pour vous...



http://manuelpayet.free.fr
Commenter la réponse de lnp
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
26
0
Merci
comme je l'ai dit, ton expression régulière ne convient pas car ce n'est pas ftps mais sftp...
et selon ton expression régulière, fttps fonctionne...




In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Commenter la réponse de coucou747
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
0
Merci
bien sûr puisque j'avais accepté le fttps au lieu de sftp ce que j'ai dit plus haut

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Commenter la réponse de cs_Anthomicro
Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
26
0
Merci
mon message était pour lnp qui demandait quelques commentaires sur sa solution...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
Commenter la réponse de coucou747
Messages postés
9440
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
0
Merci
ok

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Commenter la réponse de cs_Anthomicro