Christoph Zurnieden: bestimmte Wörter in einem Document entfernen

Beitrag lesen

Hi,

UI; PHP im verbose-Modus. Von einer Hashtabelle habe ich auch etwas gelesen, aber leider kein Beispiel entdeckt. Aber wenn ich den Ansatz richtig verstehe, dann müßte man das Dokument nach whitespace abplappern, Auszeichnungen der Schriftsprache filtern und dann wort für Wort abklappern. Also als Ansatz etwa so:
[CODE]

Eher so ähnlich, wie Tom das vorschlug:

  
  $countliste = array();  
// erster Durchgang: komplette Datei  
  $text = strtolower($text); // zuerst mal alles  
                             // kleingeschrieben  
  $space  = " "; // für's explode()  
  // Im Gegensatz zu Tom, der sagt,was er nicht haben will  
  // sage ich, was ich haben will. Ist immer besser so rum.  
  // RegExp ist jedoch ziemlich teuer hier.  
// zweiter Durchgang: komplette Datei  
  $text = preg_replace('/[^a-zäöüß]+/',$space,$data);  
  // str_replace nimmt Arrays als Eingabe an  
// dritter Durchgang: nur noch Buchstaben und Leerzeichen  
  $text = str_replace($stopwords,'',$text);  
// vierter Durchgang: Stopworte sind auch noch raus  
// vierter Durchgang: es ist jedoch weiterer Speicher nötig  
  $liste = explode(" ",$text);  
// fünfter Durchgang: Menge wie beim viertem Durchgang  
  foreach($liste as $word){  
    $word = trim($word);  
    if (strlen($word)>0){  
      $countliste[$word]++;  
    }  
  }  

Das Array $countliste kann nicht vorher in der Größe bestimmt werden (warum eigentlich nicht? Oder kann doch?) sondern wird sukzessive gefüllt. Mit etwas Glück erkennt PHP, das es einen Baum benutzen kann, aber eine Hashtabelle wird PHP wohl kaum benutzen. Macht aber auch nix, Du willst ja eh alles auf einen Rutsch auslesen, oder? Ach ne, nicht Du, der OP, aber ist ja egal ;-)
Auf jeden Fall geht Toms Script fünfmal, wenn man das Auslesen des Resultats noch dazunimmt sogar sechsmal durch die Daten, davon zweimal durch die ganze Datei obwohl theoretisch nur einmal nötig wäre (praktisch ist es etwas mehr, aber egal). Da ich nicht glaube, das Toms PHP-Künste so schlecht sind -- das kann wohl eher von meinen sagen ;-) -- ergibt sich die Frage: ist PHP wirklich _so_ schlecht für eine solche, durchaus nicht unübliche Aufgabe geeignet?

so short

Christoph Zurnieden