Christian: Glossarbegriffe automatisch per RegExp verlinken

Beitrag lesen

Hi Lulu,

danke für den Tip, das Beispiel

http://simplecontent.net/snippets/view/project/PHP_Snippets/03_Beispiele/01_text/link_words_5.html

kenne ich, hatte es früher aber nur überflogen. Ich habe es jetzt in meinem Script verwurstet und es funktioniert auch sehr gut (ist auch ca. 10x schneller!), und ich kann dabei auf den Inline-Flag offenbar ganz verzichten (auch, wenn ich es nicht so ganz verstehe, wieso ;-). Das Problem 4 wäre damit gelöst, allerdings ist Problem 2 nun wieder aufgetaucht, das Script verlinkt einen Begriff nun mehrmals anstatt nur 1x im gesamten Text. Ein Limit von 1 beim preg_replace macht hier keinen Sinn, da dann nur insgesamt 1 der 15 Begriffen aus dem Array verlinkt wird.

Demo: http://www.christianhart.de/test/glossar2.php
Source: http://www.christianhart.de/test/glossar2.phps

Frage: Kann man das mit einer einfachen Änderung in meinem neuen Script irgendwie so ändern, dass z.B. "Ancient Skies" nur 1x verlinkt wird anstatt wie jetzt 4x? Wird sonst im Text etwas unübersichtlich mit den Wiederholungen... Ich habe schon überlegt, ob ich den fertig ersetzten Text nach '<a href="###">Begriff</a>' durchsuche und dann die Anzahl der Matches minus 1 durch den Begriff ohne Link ersetze, was letztlich nur einen Link ergeben würde. Klingt aber so wie von hinten durch die Brust ins Auge :-p

Das muss doch irgendwie möglich sein *seufz*

Gruß Christian