Problem beim Ersetzten von Wörtern

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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)

    Comment


    • #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

      Comment


      • #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

        Comment


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

          Comment

          Working...
          X