Suchwort hervorheben (ausser innerhalb von Tags)

DeMoehn_sm

Grünschnabel
Guten Tag ihr lieben User.

Ich versuche mich gerade an einer Suche.
Habe auch so ziemlich das Endstadium erreicht, nun gilt es nur noch die gesuchten Wörter im Text hervorzuheben.
Kein Problem soweit, ich habe einen Extra Stil angelegt und diese kleine Funktion zur Hilfe gezogen.

PHP:
function HighlightSearch($word, $text) {
      $erg = preg_replace('/(' . $word . ')/i', '<span class="highlight">$1</span>', $text);	
	return $erg;
}

Das Problem: Auch in Tags wie z.B. <img> oder <a> sucht er nach den Wörtern und Highlightet diese natürlich auch durch "<span ...."
Dadurch werden Links und bilder natürlich nimmer angezeigt.
Aber auch in normalen Tags würde er ja theo. auch Klassen finden.

Von daher brauche ich eine Funktion die Tags ignoriert, diese aber trotzdem am Ende mit ausgibt (also nix stip_tags).
Hoffe jemand hat eine Idee, ich bin immer noch nicht so versiert mit diesem preg_replace Syntax.

Für Links, Tips und kleine Codeschnipsel bin ich immer dankbar.

Mfg
 
Zurück