Problem beim Ersetzten von Wörtern

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

  • Problem beim Ersetzten von Wörtern

    Ich baue mir ein Lexikon zusammen. Da sich die Einträge immer weiter ertweitern, will ich nun in jeden Text des Lexikons nach Begriffen suchen, die sich im Lexikon befinden und dann durch einen Link zum Begriff ersetzen. Soweit kein Problem doch da es sich nicht ausschließen kann, dass es auch Einträge aus zwei Wörtern bestehen und eines dieser Wörter auch schon behandelt wird, bekomme ich statt z. B bei : AMD Athlon
    nur en Link zu AMD. Habt ihr da irgendeinen Vorschlag?

  • #2
    Wie erkennst du denn bisher, ob es zu einem Wort im Text einen Lexikoneintrag gibt? (Erklärung gern auch mit Code)

    Kommentar


    • #3
      Ich schreibe die zu suchenden Wörter aus und die zu ersetzenden Wörter meiner MySql-Datenbank in zwei Arrays. Nun ersetzte ich die Wörter mit :

      PHP-Code:
      for ($i 0$i sizeof($von); $i++) {
        
      $text str_replace($von[$i], $nach[$i], $text);

      Das ganze Script sieht so aus:

      PHP-Code:
      $text='Mein Text'

      $von = array("");
      $nach = array("");
      mysql_connect("XXX","XXX","XXX"); 
      mysql_select_db("XXX");
      $query "SELECT * FROM lexikon 
      "
      ;
      $result=mysql_query($query)or die(mysql_error());
      while (
      $row=mysql_fetch_object($result))
      {
      $von[]=$row->layout ;
      $nach[]='<a href="'.$row->url.'" class="navi"><i>'.$row->layout.'</i></a>';
      }

      for (
      $i 0$i sizeof($von); $i++) {
        
      $text str_replace($von[$i], $nach[$i], $text);
      }
      echo 
      $text

      Kommentar


      • #4
        Wie sieht denn die DB Struktur aus ?

        ..

        abgesehn davon schlag mal preg_replace nach ... dürfte sich hier ganz klar anbieten
        chansel0049
        ----------------------------------------------------
        if you've reached the bottomline - dig further!
        Übersetzer gesucht? http://www.babelport.com

        Kommentar


        • #5
          außerdem kann str_replace mit Arrays umgehen, daher kannst du dir die for-Schleife sparen

          Kommentar

          Lädt...
          X