Wörter automatisch verlinken

PC Freak

Erfahrenes Mitglied
Hallo,
gibt es eine Möglichkeit, bestimmte von mir definierte Worte, wenn sie in einem Text auf meiner Homepage vorkommen automatisch mit einem Link zu versehen ?

Damit könnte ich z.b.. Links auf ein Glossar automatisch verlinken.

Bin noch nicht so Erfahren in Sachen PHP, deshalb wäre mir ein fertiges Script am liebsten, wenn es schon eins im WWW gibt
 
Hallo,
meinst du das so ungefähr?
PHP:
<?php
    $words = array( 'Wort1' => 'http://www.domain1.de',
                    'Wort2' => 'http://www.domain2.de',
                    'Wort3' => 'http://www.domain3.de' );

    $text = 'Das ist ein Text in dem Wort1, Wort2 und Wort3 vorkommt.';
    
    foreach ($words as $word => $url){
        $text = str_replace($word, '<a href="'.$url.'">'.$word.'</a>', $text);
    }
    
    echo $text;
?>

mfg
forsterm
 
Und worin unterscheidet sich der Algorithmus dieser str_replace_all()-Funktion? Die str_replace()-Funktion ersetzt doch bereits alle Vorkommnisse der Such-Zeichenkette.
 
mhhh... das frag ich mich auch grad, wie ich da drauf gekommen bin.. bei php.net find ich sie auf die schnelle nicht - bin mir aber sicher, irgendwann die Auswahl zwischen einer "replace" und "replace_all" Funktion gehabt zu haben... muss doch in einem anderen Zusammenhang gewesen sein :confused:
 
Die einzig mir einfallende Verwechslungsmöglichkeit sehe ich mit der preg_match()- und preg_match_all()-Funktion.
 
.. wollt ich grad ganz stolz posten, aber du hast es schamlos ausgenutzt, dass ich beim Mittagessen war :suspekt:
 
hallo,
genau so ein script hab ich gesucht, nur hab ich jetzt ein problem und kenne mich leider mit arrays nicht so gut aus. das problem ist folgendes:
wenn man das script benutzen will um wortgruppen (Buchtitel, Namen usw) zu verlinken, die man vorher seperat in einer tabelle eingetragen hat, entsteht das problem, dass, wenn wörter aus dieser wortgruppe auch einzeln in der Liste vorkommen, sehr leicht das falsche verlinkt wird.

nur als beispiel: "Die rote Sieben" und "Sieben"...da würde der konflikt entstehen dass das skript vorzugsweise "Sieben" verlinkt...in beiden Titeln.

habt ihr irgendeine elegante idee? oder gibt es für dieses problem keine wirkliche Lösung?
Da das ganze recht umfangreich werden soll kann ich oben genanntes Problem leider nicht ausschließen, für eure Hilfe danke ich schonmal im vorraus!

ps. wenn es für so eine linkgeschichte ne bessere alternative als eine tabelle mit allen Begriffen und deren links gibt lasst es mich bitte auch wissen. DANKE! =)

edit: hab hier eben noch etwas gestöbert und es ist vielleicht besser lieber das feld was ich durchsuchen lassen will in den array zu nehmen und dann mit dem array die tabelle mit den begriffen zu durchsuchen. doch wie gesagt ich bin absolut unbeholfen was arrays angeht =( obiges problem ergibt sich dennoch *glaub* stubst mich in die richtige richtung! =)
 
Zuletzt bearbeitet:
Zurück