Hat jemand eine schöne RegEx-Funktion, mit der ich bestimmte Textpassagen hervorheben kann, ohne dass HTML-Tags geändert werden?
Eigentlich handelt es sich um eine klassische Aufgabe: in einem Text sollen bestimmte Textpassagen hervorgehoben werden. Dafür habe ich auch einige Ansätze gefunden, die mich zu folgendem Code gebracht haben:
Code: Alles auswählen
preg_replace("#\b(wort1|wort2)\b#i", '<span class="highlight">$1</span>', $text)
Das habe ich nun etwas weiterentwickelt, und bin bei folgendem Code gelandet:
Code: Alles auswählen
preg_replace("#(>[^<]*\b|^[^<>]*\b)(wort1|wort2)(\b[^>]*<|\b[^<>]*\$)#i", '$1<span class="highlight">$2</span>$3', $text)
Hat jemand da eine schöne Expression, die das Problem löst?
Viele Grüße und Danke,
Philipp