|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
![]() ![]() Ingénieur développement logiciels Inscription : janvier 2004 Messages : 7 410 ![]() |
Bonjour,
Aujourd'hui je passe vous voir pour un problème de remplacement par expression régulière. Dans une chaîne de caractères je cherche à remplacer les urls par des balises <a> pour rendre ces urls cliquables. Jusque là ce n'est pas trop difficile, seulement ma chaine de caractères en entrée contient certaines urls qui sont déjà entourées de la balise <a>, celles-ci ne sont donc plus à remplacer. Voilà un exemple de la chaîne d'entrée : Code php :
Les 2 premiers liens doivent être remplacés, ainsi que le dernier Pour l'instant voilà ce que j'ai essayé : Code php :
echo preg_replace("/((mailto|https?):\/\/[^<>\"'\s]+)/ims", '<a href="$1">$1</a>', $in); mais le résultat n'est pas tout à fait correct : le troisième lien est mal remplacé. Voilà le résultat Code :
__________________
Responsable du Portail Developpez. A la recherche d'un poste sur Strasbourg. Mes tutoriels Algo, Web, C++, PHP - Mon CV |
||||
|
|
00
|
|
|
#2 |
![]() ![]() Ingénieur développement logiciels Inscription : janvier 2004 Messages : 7 410 ![]() |
Bon, je m'en suis sorti
Code php :
preg_replace("#((?<!href=[\"'])(mailto|https?)://[^<>\"'\s]+)#ims", '<a href="$1">$1</a>', $in);
__________________
Responsable du Portail Developpez. A la recherche d'un poste sur Strasbourg. Mes tutoriels Algo, Web, C++, PHP - Mon CV |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com