PHP Wörter markieren

krizzelfix

Commander
Registriert
Sep. 2005
Beiträge
2.626
Hallo zusammen,

wie kann ich per RegEx Wörter markieren dabei aber Wörter ignorieren, die in HTML Tags stehen.
Habe schon sowas probiert:
PHP:
$subject = 'Test mit Text <a href="test">test</a>';
$pattern = '~[^<].*(test).*[^>]~iU';
Als Ergebnis bekomm ich dann die richtigen "test" erstzt. Nur Fehlt dann der restliche Text.

Schonmal danke für die Hilfe.

Grüße
 
Das sollte helfen:

Wie ersetze ich in einem Text, jedoch nicht innerhalb von HTML-Tags?
PHP:
// $s in $t durch $r ersetzen:
preg_replace("/((<[^>]*)|$s)/e", '"\2"=="\1"? "\1":"$r"', $t);
 
// $s case-insensitive in $t hervorheben:
preg_replace("/((<[^>]*)|$s)/ie", '"\2"=="\1"? "\1":"<b>\1</b>"', $t);
http://php-faq.de/q-regexp-ersetzen.html
 
Zurück
Oben