Tester une URL avec une regex

[Résolu]
Signaler
Messages postés
96
Date d'inscription
samedi 12 mars 2005
Statut
Membre
Dernière intervention
24 octobre 2007
-
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
-
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...

16 réponses

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
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
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
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
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
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>
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
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
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
ça marche?

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




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
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
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
ok ;-)

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




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
96
Date d'inscription
samedi 12 mars 2005
Statut
Membre
Dernière intervention
24 octobre 2007

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
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
"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>
Messages postés
96
Date d'inscription
samedi 12 mars 2005
Statut
Membre
Dernière intervention
24 octobre 2007

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... ######
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
"

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>
Messages postés
96
Date d'inscription
samedi 12 mars 2005
Statut
Membre
Dernière intervention
24 octobre 2007

No souci ! ! !


LNP...

pour vous...



http://manuelpayet.free.fr
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
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
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
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>
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
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
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
ok

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




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>