|
|
|
|
Datenbankinhalt überprüfen & Links setzen |
Champus
BlackBoarder
Dabei seit: 24.03.2002
Beiträge: 1.649
Herkunft: Karlsruhe
|
|
Datenbankinhalt überprüfen & Links setzen |
|
Gehört zu: Layout-Ideen
Moin,
ich bin's nochmal.
So, also das Design meiner privaten Homepage steht soweit.
Wie ich nun ein Admininterface für die Eingabe der Inhalte entsprechend der verschiedenen Themenbereiche schreibe ist auch klar.
Nur würde ich gerne ein Feature einbauen, wie folgt:
Da ich auf der Seite wohl des öfteren spezielle Namen und Begriffe verwende, die für die meisten Leute eine Erklärung benötigen damit sie wissen was das ist, wollte ich für jeden Begriff im Webinterface eine kurze Beschreibung schreiben. Das ist soweit für mich machbar.
Nun möchte ich es aber so machen, dass man im Admininterface eine Möglichkeit hat, ein Script automatisch die komplette Datenbank durchsuchen zu lassen. Wenn dort dann Wörter bzw. Begriffe gefunden wurden, die von mir definiert sind, soll das Script einen Link auf die Definierung setzen.
Ein bisschen schwer zu erklären. Im Prinzip das gleiche wie bei der Wikipedia. Es wird nach Fremdwörtern im Text gesucht (die Fremdwörter erkennt er durch den Titel der Definierung), wenn er ein solches Fremdwort gefunden hat soll ein Link auf eine Seite gesetzt werden, auf der dieses Fremdwort dann erklärt wird, also der Inhalt aus der Fremdwörtertabelle abgerufen wird.
Ich hoffe mal ihr versteht, wie ich das meine.
Gruß
Die Aaskrähe
Edit:
Also hm. Scheint wohl niemand zu verstehen.
Naja, passt auf.
Ich habe eine Tabelle Namens Texte, dort gibt es die Spalten "Titel" und "Inhalt".
Es soll nun die Spalte "Inhalt" durchsucht werden, ob ein Wort vorkommt, dass mit einem "Titel" aus der ganzen Tabelle übereinstimmt.
Es soll nun entsprechend ein Link eingefügt werden, also via str_replace.
Beispiel:
Titel: Pinguine
Inhalt: Die Pinguine ... bla ... der Eselspinguin (Pygoscelis Papua) ist der scheuste Pinguin .. bla..
Titel: Pygoscelis Papua
Inhalt: Der Pygoscelis Papua, im Fachjargon Pygospa genannt, ist eines der scheusten Blackboardmitglieder. bla bla ...
Wie ihr jetzt sehr steht im Inhalt von "Pinguine" ein existierender Titel, und zwar "Pygoscelis Papua". Es soll nun bei dem Wort "Pygoscelis Papua" ein Link gesetzt werden, und zwar auf index.php?t=pygoscelispapua , damit bei einem Klick auf den Link die Seite mit dem Titel "Pygoscelis Papua" geöffnet wird.
Ich hoffe ihr versteht jetzt wie ich es meine.
Im übrigen entschuldige ich mich für den Missbrauch des Namen eines BB-Mitgliedes, wurde aber durch den Thread "Was bedeuetet euer Nick" für dieses Beispiel angeregt.
Gruß
Corvus
__________________ CorvusCorone -> Champus
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Champus: 16.12.2005 21:54.
|
|
11.12.2005 18:20 |
|
|
LX
El Comandante en Jefe
Dabei seit: 25.11.2001
Beiträge: 5.372
Herkunft: Berliner Bronx
|
|
Naja, das ist sehr speicher- und rechenzeitintensiv, wenn du das mit vielen und langen Texten machst. Es läuft letztendlich darauf hinaus, ein SELECT auf alle Titel zu speichern (z.B. in einem Array) und zusätzlich noch das aktuelle Thema auszulesen. Dann musst du für jedes Wort aus dem Inhalt prüfen, ob es im Titel-Array vorkommt (in_array()), z.B indem du den Inhalt erstmal an den Leerzeichen aufsplittest (explode()) und dann mit einer Schleife jedes Element des entstehenden Arrays abgrast (sinnvollerweise auch noch case-insensitive). Und wenn eine Übereinstimmung gefunden wurde, bastelst du dir einen Link zurecht.
Einfacher isses natürlich, wenn du die Links selber in den Inhalt schreibst, wie es bei der Wikipedia oder hier im Board ja auch der Fall ist
__________________ JS-Games.de - Misled Scripting Skills Gone Mad | Meine Filmkritiken | Urban Photography
Kommt mal in den IRC-Channel: irc.eu.freenode.net | Port 6667 | #blackboard
"Ever tried. Ever failed. No matter.
Try again. Fail again. Fail better."
- Samuel Beckett
|
|
16.12.2005 22:11 |
|
|
phlox81
Bote des Lichts und Moderator
Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo
|
|
Hm, naja, macht so direkt keinen Sinn.
Du könntest eine Tabelle für Replaces führen:
dort kannst du dann die wörter und die Links dafür definieren,
um sie dann in einem PHP replace zu ersetzen zb.
Du könntest dann auch die Texte in der DB als
normal und parsed aufbewahren, und so immerwieder
einfach aktuallisieren, in dem du eine Klartext version
als Vorlage, und eine Version mit Links als Content
für deine Seite.
Dann brauchst du nur noch ein Skript was ein
Suchen & ersetzen macht, und den text dann
in Content speichert.
__________________ Intelligenz ist eine Illusion des Menschen
phlox81.de | codenode.de
|
|
16.12.2005 23:48 |
|
|
|
|
|
|