Probleme de Regex

Résolu
Utilisateur anonyme -  
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   -
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 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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
 
Merci,
mais je ne suis pas trop convaincu.
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Pourquoi ?
0