Hallo, ich habe da eine härtere Nuss zu kancken.
Ich habe eine Suchfunktion, die mir die Seiten eines CMS listet, auf der der Suchbegriff gefunden wurde.
Wenn ich nun eine der Seiten anklicke, sollen mir alle Vorkommen dieses Wortes auf der Seite rot markiert werden.
Bis dahin ist es auch kein Problem.
Allerdings gibt es auch Links zu anderen Seiten oder Download-Dokumente auf dieser Seite.
Wenn nun mein Suchbegriff "Buch" ist und es einen Link zu "downloads/hoerbuch.jpg" gibt, dann wird daraus natürlich:
downloads/hoer<font color="CC0000">buch</font>.jpg
Meine regex ist ganz simpel:
$content = preg_replace("!".$keyword."!eisUS", "mark_result('\\0')", $content);
Ich habe auch schon versucht nur text zu durchsuchen, der nicht in Anführungszeichen steht:
"![^\"]*".$keyword."[^\"]*!eisUS"
Also: finde alles außer " gefolgt von $keyword geflolgt von alles außer ".
Aber das funktioniert auch nicht.
Hat jemand einen besseren Ansatz oder ganz anderen Lösungsvorschlag?
Fakt ist, dass der Link mit im Content steht, aber nicht erkannt werden soll.
Dank & Grüße,
Andi
Ich habe eine Suchfunktion, die mir die Seiten eines CMS listet, auf der der Suchbegriff gefunden wurde.
Wenn ich nun eine der Seiten anklicke, sollen mir alle Vorkommen dieses Wortes auf der Seite rot markiert werden.
Bis dahin ist es auch kein Problem.
Allerdings gibt es auch Links zu anderen Seiten oder Download-Dokumente auf dieser Seite.
Wenn nun mein Suchbegriff "Buch" ist und es einen Link zu "downloads/hoerbuch.jpg" gibt, dann wird daraus natürlich:
downloads/hoer<font color="CC0000">buch</font>.jpg
Meine regex ist ganz simpel:
$content = preg_replace("!".$keyword."!eisUS", "mark_result('\\0')", $content);
Ich habe auch schon versucht nur text zu durchsuchen, der nicht in Anführungszeichen steht:
"![^\"]*".$keyword."[^\"]*!eisUS"
Also: finde alles außer " gefolgt von $keyword geflolgt von alles außer ".
Aber das funktioniert auch nicht.
Hat jemand einen besseren Ansatz oder ganz anderen Lösungsvorschlag?
Fakt ist, dass der Link mit im Content steht, aber nicht erkannt werden soll.
Dank & Grüße,
Andi
Kommentar