zwerg: Bestimmte Begriffe immer verlinken

Glück auf!

Ich wage mal folgende Frage (auch wenn ich eine verneinende Antwort vermute):

Ist es möglich, dass sich bestimmte Begriffe (z.B. den Namen eines Freundes) auf meiner Homepage immer automatisch verlinken kann. Also dass ich z.B. Mausi nicht immer mit <a href="http://zwergenspiegel.de/Unterseiten/mausi.php" >Mausi</a> verlinken muss, sondern dass ich beispielsweise in einer MySQL-Tabelle die Linknamen mit den dazugehörigen Linkzielen einmal verlinke und dann die Verlinkung auf der entsprechenden Seite nicht nochmal explizit angegeben werden muss?

Für mich klingt das irgendwie nahezu unmöglich, weil ja irgendwie immer die aufgerufene Seite nach den Linknamen durchsucht werden müsste und ich nicht wüsste, wie ich das umsetzen soll. Da ich aber schon öfters positiv überrascht wurde, was alles möglich ist, habe ich diese Frage trotzdem mal gewagt.

Beste Grüße

zwerg Alex

  1. Für mich klingt das irgendwie nahezu unmöglich, weil ja irgendwie immer die aufgerufene Seite nach den Linknamen durchsucht werden müsste und ich nicht wüsste, wie ich das umsetzen soll.

    Nun, Du hast bspw. eine Tabelle irgendwo und lädst diese erst einmal, dann lädst Du mithilfe von PHP oder Perl oder ASP oder was auch immer die HTML-Seiten und machst ein "Suchen und Ersetzen" sendest erst dann die Daten an den Browser. Das ist trivial.

    Allerdings weiss ich nicht, ob die Idee so toll ist. Eventuell müsstest Du nämlich neben den Begriffen auch noch eine Regelmenge hinterlegen (wann und unter welchen Umständen wird wohin verwiesen? Ausnahmen?).

    1. Glück auf!

      Danke erstmal für deine rasche Antwort.

      Nun, Du hast bspw. eine Tabelle irgendwo und lädst diese erst einmal, dann lädst Du mithilfe von PHP oder Perl oder ASP oder was auch immer die HTML-Seiten und machst ein "Suchen und Ersetzen" sendest erst dann die Daten an den Browser. Das ist trivial.

      Trivial hör ich gerne :-) Hast du auch noch ein Stichwort für das suchen/ersetzen mit PHP?

      Allerdings weiss ich nicht, ob die Idee so toll ist. Eventuell müsstest Du nämlich neben den Begriffen auch noch eine Regelmenge hinterlegen (wann und unter welchen Umständen wird wohin verwiesen? Ausnahmen?).

      Das werd ich dann mal sehen, hatte schon überlegt immer irgend ein Zeichen noch davor, dahinter zu setzen z.B. #mausi, damit er das nur dann verlinkt, wenn auch das oder ein anderes Zeichen, was ich angebe, davor setze.

      Beste Grüße

      zwerg Alex

      1. Trivial hör ich gerne :-) Hast du auch noch ein Stichwort für das suchen/ersetzen mit PHP?

        Selbstverständlich: http://de3.php.net/manual/de/ref.strings.php

        (Wie performant der Krempel ist, weiss ich allerdings nicht.)

        1. Glück auf!

          Trivial hör ich gerne :-) Hast du auch noch ein Stichwort für das suchen/ersetzen mit PHP?

          Selbstverständlich: http://de3.php.net/manual/de/ref.strings.php

          Danke danke, da stehts ja sogar in deutsch :-)

          (Wie performant der Krempel ist, weiss ich allerdings nicht.)

          Weiß das vlt. jemand anders? Hat jmd. schonmal gute bzw. schlechte Erfahrung mit der (Performance der) "automatischen" Verlinkung gemacht?

          Beste Grüße

          zwerg Alex

          1. Hallo,

            Weiß das vlt. jemand anders? Hat jmd. schonmal gute bzw. schlechte Erfahrung mit der (Performance der) "automatischen" Verlinkung gemacht?

            Stringersetzung ist sehr sehr schnell, du kannst ja einfach so etwas bauen:

            <?php  
             $freunde = array(  
              "Matthias" => "<a href='http://example.org/matthias.html'>Matthias</a>",  
              "Peter" => "<a href='http://example.com/peter.html'>Peter</a>",  
              "Sandra" => "<a href='http://example.net/sandra.html'>Sandra</a>"  
             );  
              
              $text = "<p>Peter, Paul und Marie sitzen im Kitchen. Aber Sandra sitzt zu Hause in der Küche.</p>\n";  
              $text .= "<p>Die Sandra kennt Matthias zwar, aber sie mag ihn überhaupt nicht, sie ist dafür in Peter verliebt</p>\n";  
              
             echo str_replace(array_keys($freunde), array_values($freunde), $text);  
            ?>
            

            Grüße
            Jeena Paradies

            --
            Pavatar Zwischenstand Gravatar ist ja wieder kaputt | Jlog | Gourmetica Mentiri
          2. Glück auf!

            Trivial hör ich gerne :-) Hast du auch noch ein Stichwort für das suchen/ersetzen mit PHP?

            Selbstverständlich: http://de3.php.net/manual/de/ref.strings.php

            Danke danke, da stehts ja sogar in deutsch :-)

            (Wie performant der Krempel ist, weiss ich allerdings nicht.)

            Weiß das vlt. jemand anders? Hat jmd. schonmal gute bzw. schlechte Erfahrung mit der (Performance der) "automatischen" Verlinkung gemacht?

            Stringsuche ist per se mit das teuerste ( also algorithmisch aufwendigste ) was man in der Informatik betreiben kann. Es existieren 1001  Algorithmen um dies effizient zu behandeln.

            Strings werden auf oft sog. "Hashes" abgebildet, das sind numerische Schluessel nach denen sich billiger suchen laesst als durch Vergleichen*.

            Wenn das Hashing suboptimal st kommt es zu sog. Kollisionen (od. "Hash-Claps"), d.h. dass bei einem Schluessel nicht ein, sondern mehrere Werte liegen. Ab da greift da schlimmstenfalls wieder eine Suche mit Vergleichen* oder ein erneutes Hashing ( "Doppeltes Hashing")

            Hashing liegt auch der Indizierung von Stringfeldern in Datenbanken zugrunde.

            Allerdings kostet es Rechenzeit, wenn Strings gleich beim Einlesen ( in eine Datenbank, einen XML-Baum etc ) zwecks Hashing ausgewertet, somit also trivial  ge-"parse"d werden.

            Da auf einer Web-Site im Allgemeinen mehr Such- als Einfuegeoperationen auf dem Content stattfinden, kaeme vielleicht sogar eine  besonders teure Form der Indizierung in Betracht - naemlich der "FULLTEXT"-Index, wie sie z.B. "MySQL" anbietet.

            Um das einfach programmieren zu koennen koenntest Du z.B. Deine Seiten auch in einer Datenbank ablegen - z.B. als "TEXT"-Feld ( das ist eine Art BLOB ).

            Gruss

            Holger

            P.S.: Die Begriffe in Anfuehrungszeichen eignen sich zum Googeln.

            *) Oder Sortieren - auch dafuer gibt es 1001 Verfahren