BlackBoard » Design, Programmierung & Entwicklung » Programmieren » PHP Datenbankinhalt überprüfen & Links setzen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Datenbankinhalt überprüfen & Links setzen
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Champus Champus ist männlich
BlackBoarder


images/avatars/avatar-2272.png

Dabei seit: 24.03.2002
Beiträge: 1.649
Herkunft: Karlsruhe

Datenbankinhalt überprüfen & Links setzen       Zum Anfang der Seite springen

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 Champus ist offline Homepage von Champus Beiträge von Champus suchen
LX LX ist männlich
El Comandante en Jefe


images/avatars/avatar-2290.gif

Dabei seit: 25.11.2001
Beiträge: 5.372
Herkunft: Berliner Bronx

Achtung       Zum Anfang der Seite springen

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 Augenzwinkern

__________________
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 LX ist offline E-Mail an LX senden Homepage von LX Beiträge von LX suchen
phlox81 phlox81 ist männlich
Bote des Lichts und Moderator


images/avatars/avatar-2264.jpg

Dabei seit: 19.10.2002
Beiträge: 3.028
Herkunft: Irgendwo im Nirgendwo

      Zum Anfang der Seite springen

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 phlox81 ist offline E-Mail an phlox81 senden Homepage von phlox81 Beiträge von phlox81 suchen
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
BlackBoard » Design, Programmierung & Entwicklung » Programmieren » PHP Datenbankinhalt überprüfen & Links setzen

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH