Le plus simple et rapide serait :
ne prend "bleu" seulement avec un espace avant et un espace ou un point après.
Tu peux le voir sur le site que tu... cites : http://regexr.com?2tdm6
Bien sûr, c'est plus simple et donc le moins sûr.
Par exemple, ceci ne passe pas :
le bleu est une super couleur; le plâtre est bleu. un <a href="page_bleu.html" class="button bleu overflow">exemple ici</a>
Il prendra aussi le "bleu" dans la class par sûr que ce soit ce que tu veux (mais bon, ça arrive rarement... mais qui sait?).
Bien sûr, on pourrait complexifier le regex pour qu'il ne prenne pas les attributs et leurs valeurs mais encore une fois, les regex pour parser du HTML... non, faut éviter sauf si on est vraiment sûr de son code et de ce qui va se passer. (et encore).
Le "mieux" (pour moi) serait de parser le HTML avec DOMDocument et de prendre que les valeurs des noeuds et de passer par un str_replace() tout facile par la suite
Partager