Problem bei Highlight Suche

Hallo!

Hiermit kann ich den Text bei einer Suche hervorheben, was auch funktioniert. Nur leider zerstört mir die Funktion wenn in einen Text ein Link vorkommt. Wie kann ich das umgehen das mir die Highlight Funktion nicht die Links zerstört? Die Links stehen in der Datenbank mittels http://www.xya.de drinnen.

Danke für eure Hilfe.

PHP:
function suche_hervorheben($out,$such_text)
{
$out = preg_replace('/(' . preg_quote($such_text, '/') . ')/i', '<b class="highlight">$1</b>', $out);
return $out;
}
 
Ich hab zwar grad keinen Regex dafür parat, aber du brauchst look-behinds und look-aheads dafür. Vielleicht hilft dir das weiter.
 
Danke für den Hinweis! Das hat echt geholfen und es funktioniert ohne Probleme!

Hier nun der richtige Code falls es wem interessiert:

PHP:
function suche_hervorheben($out,$such_text)
{
$out = preg_replace("/((<[^>]*)|$such_text)/ie", '"\2"=="\1"? "\1":"<b class=\"highlight\">\1</b>"', $out);
return $out;
}
 

Neue Beiträge

Zurück