Artikel untereinander automatisch verlinken

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Artikel untereinander automatisch verlinken

    Hallo,

    ich habe in der Db eine Tabelle mit folgenden Aufbau.

    PHP-Code:
    CREATE TABLE `beispiel_artikel` (
      `
    artikel_idint(10unsigned NOT NULL auto_increment,
      `
    titelvarchar(255) default NULL,
      `
    artikeltext,
      
    PRIMARY KEY  (`artikel_id`),
    TYPE=MyISAM AUTO_INCREMENT=
    Die Artikel gebe ich nun auf jeweils einer Seite aus.
    Nun würde ich diese Artikel aber gerne untereinander automatisch verlinken.

    Also wenn in einem Artikel der "Titel" eines anderen Artikels vorkommt,wollte ich automatisch ein Link generieren und ihn denn im Artikel einfügen.

    Wie gehe ich da am besten vor?

    Zuerst alle "titel" auslesen und in einem Array speichern und in einer Schleife den Artikel mittels Regex parsen lassen?

    Oder gibt es noch eine andere Variante?
    Gut geraten ist halb gewußt.

  • #2
    Du solltest die Verlinkungen aus Gründen der Performance auf jeden Fall zwischenspeichern. Beim speichern eines Artikels suchst du einfach in anderen Beiträgen nach dem Titel (entweder LIKE oder MATCH) und legst dann Verknüpfungen über eine seperate Tabelle an.
    Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

    Kommentar


    • #3
      Ich finde automatisches Verlinken keine gute Idee.

      Wenn ein Autor in seinem Text exakt den Titel eines anderen Textes unterbringt, passiert das entweder zufällig - in diesem Fall wäre eine Verlinkung vielleicht gar nicht im Sinne des Autors - oder absichtlich, aber dann kann man vom Autor auch verlangen, den Text selbst zu verlinken.

      Neben unbeabsichtigter Verlinkung fängt man sich nämlich auch noch weitere Probleme ein.
      Was geschieht, wenn der Titel eines Textes geändert wird?
      Wie kann man einen Text verlinken, ohne genau seinen Titel zu nennen?
      Welcher Text wird verlinkt, wenn zwei den selben Titel haben?
      ... und sicher noch mehr.

      Kommentar


      • #4
        Das mit dem Zwischenspeichern ist eine gute Idee.
        Ich könnte ja 2 Spalten machen. In einer ist immer der orginal Text und in einer der 2. Text.

        Und naja. Es gibt immer nur 1 Titel und alle Texte kommen von mir. Das verlinken soll auch nur passieren wenn das Wort exakt einem Titel gleich ist. Das verlinken soll für die Suchmaschinen sein.

        Mhh, nur wenn ich schon 3 Artikel habe und einen 4 speichern, denn müßte ich die Variante mit LIKE ja auch die 3 ersten Artikel nochmal durchlaufen lassen. Weil ja immer ein neuer Artikel dazu kommen kann. Mhh.
        Auf jeden Fall ist '%LIKE%' besser als die preg match Variante.



        Und zu dem manuellen Verlinken. Ab 100 Artikel wäre das extrem viel mehr aufwand, alle untereinander mit der Hand zu verlinken.
        Gut geraten ist halb gewußt.

        Kommentar


        • #5
          Ich könnte ja 2 Spalten machen. In einer ist immer der orginal Text und in einer der 2. Text.
          Ganz blöde Idee, informier dich über Normalisierung.
          Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

          Kommentar


          • #6
            Also, wenn du mich fragst, würde ich hier einfach mit Tags arbeiten. Selbst wenn du schon x-hundert Artikel hast, wird es kein Problem sein, diese nachträglich mit Stichworten zu versehen, die thematisch dazu passen. Die Verlinkung kannst du dann dynamisch vornehmen. Die - beispielsweise - 5 Artikel, mit den meisten übereinstimmenden Tags haben, werden als "Empfehlung" angezeigt.

            Immer noch besser als das krude Zeug, dass du da grade machen willst.
            [FONT="Helvetica"]twitter.com/unset[/FONT]

            Shitstorm Podcast – Wöchentliches Auskotzen

            Kommentar


            • #7
              Ja, das wäre eventuell auch eine Lösung. Aber am liebsten würde ich die Links so wie zum Beispiel hier:

              PHP-Code:
              www flirt-fever.de/glossar/chatten.html 
              in den Texten platzieren.
              Wenn ich das mit Tags machen würde oder sie Gruppieren würde, dann kann ich die Links ja nur am unteren Ende anfügen.
              Ich denke mal, ich mach es erstmal mit LIKE. Mal sehen wie es denn geht.
              Gut geraten ist halb gewußt.

              Kommentar

              Lädt...
              X