str_replace avancé dans un $texte [ PHP ] - PHP - Programmation
Marsh Posté le 24-04-2008 à 08:18:53
preg_replace('/\b(?<!=["\'])(?<!\/)poulet\b/', ...)
Avec ça il ne remplacera que les mots "poulet" (pas "poulets" ni "lebeaupoulet" ) qui ne sont pas précédés d'un slash (liens genre monbeausite.com/poulet.jpg), ou d'un =" ou =' (genre pour une image avec title ou autre). Après, on peut encore l'adapter au besoin...
Marsh Posté le 25-04-2008 à 05:34:16
donc cela nous donne un
Code :
|
ca marche pas, je viens faire des test avec des preg replace, a mon avis ca doit etre une erreur de ' pour le remplaceur.
je vais continuer les test, merci
Marsh Posté le 25-04-2008 à 08:08:38
Code :
|
me renvoit
Code :
|
Ça me paraît bon. Où est le problème ?
Marsh Posté le 25-04-2008 à 08:47:55
Oui, il est vrai qu'avec l'heure avancer, j'avait oublier ca :
Code :
|
Un grand merci !
Marsh Posté le 24-04-2008 à 01:32:34
Bonsoir, j'ai un client, qui me demande de lui appliquer un filtre pour un champs de texte. ( variable $texte ).
dans cette variable est stocké le texte et les images en html, et le chargement ce fait depuis une bdd sql.
Par exemple a chaque fois que le mot poulet dans un article est affiché, que le mot soit remplacer par une url, et pour en gras.
C'est assez simple a faire, mais lorsque que j'utilise un :
Le mot poulet est effectivement bien remplacer par le liens avec poulet en gras, mais il y a un bug :
Si dans l'article une image comporte le mot poulet, ou meme un lien, de ce fait le mot est aussi remplacer, et du coup l'image n'apparait plus, pareil pour le lien.
Il serait possible de detecter si le mot a remplacer n'est pas deja dans un lien ou une image, pour eviter le bug ?
Merci d'avance
Message édité par _Rit0n_ le 24-04-2008 à 01:33:04