Probleme de Regex

Résolu/Fermé
Utilisateur anonyme - 16 janv. 2010 à 10:32
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 - 23 janv. 2010 à 14:26
Bonjour,

je créer un code (style bb_code) et j'ai une regex qui ne marche pas.

En faite j'ai une regex qui sert a créer des URL avec une balise(elle fonctionne):

balise: [url=Http://][/url]
regex: $texte = preg_replace('#\[url=(.+)\](.+)\[/url\]#i', '<a href="$1">$2</a>', $texte);

et une autre regex transforme les url tapées a la main en lien:

$texte = preg_replace('#^[^url=\]](((https?|ftp)://(w{3}\.)?)(?<!www)(\w+-?)*\.([a-z]{2,4}))#i', '<a href="$0">$0</a>', $texte);

devant j'ai mis qu'elle ne devait pas accepter les liens avec la baise ouverte devant
, et depuis que j'ai mis cela, ma baise URL transforme ces liens très bien, mais ma regex qui transforme mes liens automatique ment ne les transforme pas.

merci

ps: les lien menant vers http://www.commentcamarche.net/url ne sont pas réel. ce sont des balise qui ne s affichent pas \[ /url\ ]

3 réponses

avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 503
16 janv. 2010 à 16:54
Tu pourrais transformer toutes les urls en lien puis après modifier ta regex pour la balise url en l'adaptant au code généré avec l'autre regex.
0
Utilisateur anonyme
23 janv. 2010 à 12:42
Merci,
mais je ne suis pas trop convaincu.
0
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 503
23 janv. 2010 à 14:26
Pourquoi ?
0