Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/07/2011, 17h12   #1
Invité de passage
 
Inscription : novembre 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 12
Points : 1
Points : 1
Par défaut Remplacer une chaine par un lien sans exploser les balises

Bonjour,

Je voudrais faire une fonction / un regex pour remplacer certains mots par des liens dans un texte.

Exemple : Le chat est noir.
Devient : Le
Code :
<a href="http://www.chat.org/">chat</a>
est noir.

Je le fais avec un str_replace(), ça fonctionne mais... ça explose mes images. Exemple :
Code :
<img src="chat.png" alt="Une photo de chat" />
Devient
Code :
<img src="<a href="http://www.chat.org/">chat</a>.png" alt="Une photo de <a href="http://www.chat.org/">chat</a>" />
ce qui explose toute ma page

Comment éviter ce problème ? Est-il possible de le faire avec un regex ?

Merci à vous
yahoowaloo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2011, 17h23   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 107
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 107
Points : 8 455
Points : 8 455
oui mais avec DOMDocument + regex
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 00h41   #3
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 951
Points : 1 063
Points : 1 063
en relisant la doc sur les regex recursives, je dis optionnel l'usage de dom. mais ça simplifie.
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 09h56   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 107
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 107
Points : 8 455
Points : 8 455
Citation:
Envoyé par gene69 Voir le message
en relisant la doc sur les regex recursives, je dis optionnel l'usage de dom. mais ça simplifie.
pas besoin de récursivité pour faire ça.
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 11h37   #5
Invité de passage
 
Inscription : novembre 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 12
Points : 1
Points : 1
Ok donc pas moyen de faire ça avec un regex et des assertions négatives ?
yahoowaloo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2011, 11h39   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 107
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 107
Points : 8 455
Points : 8 455
Citation:
Envoyé par yahoowaloo Voir le message
Ok donc pas moyen de faire ça avec un regex et des assertions négatives ?
si c'est possible
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h15.


 
 
 
 
Partenaires

Hébergement Web