Bien le bonjour!
Depuis quelques temps, j'essaie de faire une expression régulière qui me paraît assez simple... Mais quand même, j'y arrive pô.
Dans l'idée, il s'agit de remplacer du texte entre guillemets dans une string, comme par exemple :
Le but, c'est que ça deviennent :Et je dis : "et il dit", que ton espoir n'est pas si "desespéré", etc...
Code html : Sélectionner tout - Visualiser dans une fenêtre à part Et je dis : <span class="comment">"et il dit"</span>, que ton espoir n'est pas si <span class="comment">"desespéré</span>, etc...
J'utilise donc la magnifique fonction preg_replace comme ceci :
Et c'est pas cool, parce que ça marche pas. Il se mélange les pinceaux quand il y a plus d'un match trouvé (ici, il y en a 2).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $txt = preg_replace("/(\".*\")/i", '"et il dit", que ton espoir n'est pas si "desespéré"', $txt); echo $txt;
Ce que je cherche à faire, c'est de préciser l'expression, en signifiant qu'il faut mettre les span seulement aux éléments entre guillemets " qui ne sont pas précédés de class= "
Alors j'ai essayé de faire des "/[^class=](\".*\")/i" ou des "/(class=)[0](\".*\")/i" mais rien n'y fait... quelqu'un a une idée ?
merci d'avance
Rekam
Partager