Christian: Glossarbegriffe automatisch per RegExp verlinken

Beitrag lesen

Du musst doch nur prüfen, ob vor und nach dem Wort ein Leerzeichen oder Satzzeichen steht.
Oder umgekehrt, du prüfst, ob vor und nach dem Wort KEIN Buchstabe ist. Dann hast du die gewissheit, das dieses Wort alleine steht.

Hi Manuel,

ehm das funktioniert bereits, ist Punkt 3 meiner Liste (hab mich da vorher leicht vertippt). Es geht um Punkt 4. Das Problem ist, da die Begriffe in einer Schleife abgearbeitet werden (müssen), und zwar vom längsten zum kürzesten Begriff (wegen der Logik, da der kürzere Begriff im längeren vorkommen kann, nicht aber umgekehrt) kommt es zu Doppelverlinkungen.

Nehmen wir an, es wurde bereits z.B. der Begriff "Paläo-SETI" verlinkt. Es steht in der Variable $text nun also an dessen Stelle <a href="?id=x">Paläo-SETI</a>. Beim späteren Durchgang mit dem Begriff "SETI" findet die Expression diesen Begriff ("ahh, SETI wurde noch nicht verlinkt, können wir ändern") und verlinkt ihn, ob wohl "SETI" bereits innerhalb von <a></a> im Rahmen von "Paläo-SETI" verlinkt wurde, nur mit anderem Ziel halt. Wir haben dann also <a href="?id=x">Paläo-<a href="?id=y">SETI</a></a>. Nicht gerade korrektes HTML, von der Übersichtlichkeit ganz zu schweigen :-(

Und genau diese Doppelverlinkungen möchte ich vermeiden. Die Expression müsste irgendwie so schlau werden, dies alleine zu erkennen, und daran scheitere ich.

Gruß Christian