versuche mich grade an einer funktionalität, um suchbegriffe in texten zu highlighten.
zusätzliche anforderung: im text kann es links mit der bekannten BB-Code-syntax [ukl=linkadresse]linktext[/url] geben - innerhalb von linkadresse darf natürlich kein highlighting stattfinden.
(hab mal [ukl=...] statt url verwendet, damit das forum nicht ersetzt.)
beispieltext:
meine blog-einträge sind online zum beispiel unter [ukl=/blog/5]eintrag #5[/url] oder [ukl=/blog/17]eintrag #17[/url] aufrufbar.
suchwort sei mal "blog".
dann sollte natürlich
meine [h]blog[/h]-einträge sind online zum beispiel unter [ukl=/blog/5]eintrag #5[/url] oder [ukl=/blog/17]eintrag #17[/url] aufrufbar.
dabei rauskommen, [h] ... [/h] jetzt mal als code für's highlighting.
ich hab diverese suchmuster durchprobiert, aber ich bekomme es nicht hin, dass "blog" nur dann gehighlighted wird, wenn es nicht irgendwo innerhalb von eckigen klammern steht.
ist natürlich auch irgendwie logisch, dass das auch auf [ukl=/blog/5] matcht ... weil ich ja noch .*? mit drin stehen habe.
hab schon diverse modifikationen dieses musters durchprobiert, aber irgendwie bin ich immer noch auf dem falschen weg.
also, jemand eine idee, wie ich es hinbekomme, dass das suchwort nur gefunden wird, wenn es nicht irgendwo innerhalb von [ ... ] steht?
zusätzliche anforderung: im text kann es links mit der bekannten BB-Code-syntax [ukl=linkadresse]linktext[/url] geben - innerhalb von linkadresse darf natürlich kein highlighting stattfinden.
(hab mal [ukl=...] statt url verwendet, damit das forum nicht ersetzt.)
beispieltext:
meine blog-einträge sind online zum beispiel unter [ukl=/blog/5]eintrag #5[/url] oder [ukl=/blog/17]eintrag #17[/url] aufrufbar.
suchwort sei mal "blog".
dann sollte natürlich
meine [h]blog[/h]-einträge sind online zum beispiel unter [ukl=/blog/5]eintrag #5[/url] oder [ukl=/blog/17]eintrag #17[/url] aufrufbar.
dabei rauskommen, [h] ... [/h] jetzt mal als code für's highlighting.
ich hab diverese suchmuster durchprobiert, aber ich bekomme es nicht hin, dass "blog" nur dann gehighlighted wird, wenn es nicht irgendwo innerhalb von eckigen klammern steht.
Code:
/([^\[].*?)(blog)(.*?[^\]])/
hab schon diverse modifikationen dieses musters durchprobiert, aber irgendwie bin ich immer noch auf dem falschen weg.
also, jemand eine idee, wie ich es hinbekomme, dass das suchwort nur gefunden wird, wenn es nicht irgendwo innerhalb von [ ... ] steht?
Kommentar