Expression régulière : trouver des URL avec preg_match_all
Posté : 04 juin 2009, 16:22
Bonjour,
j'aimerais utiliser preg_match_all sur un fichier texte chargé en chaine de caractères et trouver les URL contenues dans ce fichier.
Les URL ne sont pas forcément "standardisées" et peuvent aussi bien être
http://www.roberto.com
www.roberto.com
http://roberto.com
www.roberto.com/test.php?tutu=tata&toto=titi
etc.
J'ai trouvé un pattern que j'ai modifié qui me fait ça :
Ca fonctionne avec ereg() ... mais pas avec preg_match_all() qui me donne le warning suivant :
Je ne m'y connais pas suffisement en Expressions régulières pour savoir dans quel sens aller ...
Une idée ?
Merci !
j'aimerais utiliser preg_match_all sur un fichier texte chargé en chaine de caractères et trouver les URL contenues dans ce fichier.
Les URL ne sont pas forcément "standardisées" et peuvent aussi bien être
http://www.roberto.com
www.roberto.com
http://roberto.com
www.roberto.com/test.php?tutu=tata&toto=titi
etc.
J'ai trouvé un pattern que j'ai modifié qui me fait ça :
Code : Tout sélectionner
((http|https|ftp)\://)?[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(:[a-zA-Z0-9]*)?/?([a-zA-Z0-9\-\._\?\,\'/\\\+&%\$#\=~])*Code : Tout sélectionner
Warning: preg_match_all() [function.preg-match-all]: Unknown modifier '?'Une idée ?
Merci !