Se connecter avec
S'enregistrer | Connectez-vous

[php] Regex

Dernière réponse : dans Programmation

Bonjour,

Voila je suis pas très fort avec les regex et la j' ai besoin d'une assez compliqué.
Donc je veux que ma regex trouve dans $string les adresses qui commencent par [http://] ensuite avec autant de caractères que l'on veut mais seulement des chiffres ou lettres ensuite un point (limite entre le sous domaine et le domaine) ensuite mondomaine.fr ou mondomaine.com et enfin je veux que ça finisse pas soit .com ou .fr ou un / ou .php ou .html.

Voila donc j'ai fait cette regex mais elle marche pas du tout :
  1. (preg_match_all('#^[http://][a-z0-9]+.[domaine.com|domaine.fr][a-z0-9._/-]+[.php|.htm|.html|.fr|.com|/]$#',$page,$matches))

et donc les resultats doivent aller dans $matches .

Voila merci d'avance ;-)

Autres pages sur : php regex

Lassé par la pub ? Créez un compte

Un coup de patte peut être par ici :www.regexlib.com

Sinon déjà je dirais que le [http://] n'est pas bon car quand tu met [] c'est pour indiquer une liste possible.
Donc dejà je remplacerais par (http://) (les () forment un sous masque).
Pareille pour la fin : (\.php|\.htm|\.html|\.fr|\.com|/) (le \. c'est parce que le . est un caractère spécial qui veux dire "n'importe quel caractère et le \ annule le caractère spécial du . pour qu'il soit un vrai .)

Et mon conseille, c'est que tu teste ta regex petit à petit pour trouver quel "morceau" pose problème. Bonne chance
Lassé par la pub ? Créez un compte
Tom's guide dans le monde