phpbar.de logo

Mailinglisten-Archive

[php] Glossar

[php] Glossar

Beck, Mike php_(at)_phpcenter.de
Tue, 5 Feb 2002 14:04:43 +0100


> Hallo miteinander,
>
> auf unserer Webseite ist ein Glossar eingebunden.
> Beispieltabelle: id, wort,
> mehrwoerter, beschreibung.
> Der nächste Schritt, alle Inhalte der Webseite (News,
> FAQ,...) sollen beim
> Aufruf durchgeparsed werden und alle gefunden Glossarwörter
> durch einen
> link/href zum entsprechenende Glossareintrag ersetzt werden.
> Bisher alles schön und gut.
>
> Aber ein paar Probleme bestehen noch.
> Momentan geh ich alle Glossarwörter per Schleife einzeln
> durch und ersetz
> diese mit str_replace.
> Jetzt gibt es aber bestimmte Wörter z.b. "Test" und z.B.
> "Server Test"!
>
> Meine schleife nimmt so als erstes das Wort "Test" (je nach
> Reihenfolge in
> der DB), findet es im Beispieltext "hier und bla bla Server
> Test geht..."
> und ersetzt nur "Test", obwohl "Server Test" auch im Glossar
> steht. Das
> dumme nach dem str_replace findet er kein "Server Test" mehr,
> da das bereits
> ersetzt wurde ("Server <a href=blabla>Test<a>").
>
> nun, meine Fragen...
> Wie löse ich dieses Problem am besten?
> Bzw, geht man dabei einen ganz anderen Weg (Glossar) als oben erwähnt?
>

mal ganz trivial würde ich meine Suchbegriffe halt erst mal nach
Zeichenkettenlänge absteigend sortieren...

Aber das ist eine interessante Frage, was ähnliches habe ich bei uns
implementiert, aber noch nicht vollständig automatisiert. Ich will aber den
Weg genau andersrum gehen, da träte das Problem nicht auf, vielleicht ist
das ja für Dich auch interessant.

Bei uns werden die Artikel von den Authoren in ein selbstgebasteltes CMS
(Basis war phpCMS, aber ich habe ein paar Authorentools davorgeschaltet und
eine Datenbank dahinter) eingegeben. Die Lexikoneinträge (wie sie bei uns
heissen) ebenfalls. Was ich vorhabe ist, dass die Authoren in den Artikeln
bei allen Begriffen, die erläuterungsbedürftig sind einen selbstdefinierten
Tag rum machen, der dafür sorgt, dass vom CMS später der entsprechende Code
eingefügt wird um einen Link zu generieren der ein neues Fenster aufmacht in
dem dann die Datenbankabfrage den oder die entsprechenden Lexikoneinträge zu
dem Stichwort präsentiert. ('die' weil ich in der Lexikondatenbank nicht nur
nach Begriff suche, sondern auch noch eine Volltextsuche in der Erläuterung
mache und dann alle Treffer, nach Relevanz gewertet ausgebe.). Dieser Teil
steht auch schon -

Von da aus ist es natürlich leichter nicht im Lexikon nachzuschauen, sondern
einfach alle Artikel zu durchsuchen und für alle Begriffe die noch nicht als
Stichwort im Lexikon vorhanden sind defaulteinträge reinzuschreiben ('tut
mir leid, kommt noch, blabla) und den Authoren dann ständig die
Lexikoneinträge die noch geschrieben werden müssen vor Augen halten zu
können.

Das hat gegenüber deiner Variante klare Vorteile, gleichzeitig aber auch den
Nachteil, dass wenn ein Author ein Wort für nicht erklärungswürdig hält und
später ein anderer Author in einem anderen Artikel das Wort definiert, dann
wird in erstem Artikel nie der Bezug zum Lexikon auftauchen - womit wir dann
doch wieder bei deinem Problem wären...
--
Gruß

Mike Beck
mike.beck_at_ibmiller.de


php::bar PHP Wiki   -   Listenarchive