• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Es regnet, ist neblig und kalt, alle sind krank und der Chef wird zunehmend cholerisch. Das Thema des Monats ist also folgerichtig --> Das Grau(en)
    Wir sind gespannt, war Euch dazu einfällt! Zum Wettbewerb --> Klick

PHP preg_replace

ma.buso

Châtaigne du Léman
Registriert
16.04.05
Beiträge
820
Ich versuche gerade, aus Texten irrelevante Worte rauszuziehen.

Dazu hab ich zwei Arrays gefunden mit deutschen und engl. "Stoppwörtern":
Code:
// [...]
      $stopwords["de"][] = "dazu";
      $stopwords["de"][] = "dem";
      $stopwords["de"][] = "den";
      $stopwords["de"][] = "denn";
// [...]

Weiters will ich dann die Wörter rausschmeißen:

Code:
$Search[] = "=(\s[A-Za-z]{1,2})\s=";
$Search[] = "= " . implode(" | ", $stopwords["de"]) . " =i";
$Search[] = "= " . implode(" | ", $stopwords["en"]) . " =i";
$Search[] = "= +=";

$Replace[] = " ";
$Replace[] = " ";
$Replace[] = " ";
$Replace[] = " ";

$String = " " . str_replace(" ", "  ", $String) . " ";
$String = trim(preg_replace($Search, $Replace, $String));

Komisch nur, dass er nicht alle rausschmeißt. Da handelt es sich auch nicht um bestimmte örter, die er komplett drin lässt, sondern er schmeißt z.B. ein Paar "dann" raus und ein Paar lässt er drin.
Vielleicht kann mir jemand sagen, wo der Fehler liegt.
 

mewX

Wohlschmecker aus Vierlanden
Registriert
26.12.06
Beiträge
241
So vllt.?
Code:
$Search[] = "=[" . implode("|", $stopwords["de"]) . "]=i";
$Search[] = "=[" . implode("|", $stopwords["en"]) . "]=i";
Sonst setzt er vermutlich die RegExps nichts richtig zusammen..
 

ma.buso

Châtaigne du Léman
Registriert
16.04.05
Beiträge
820
so geht's gleich garnicht :) außerdem würde er so aus den wörtern, welche die stoppwörter enthalten diese rauslöschen, sodass man nur noch kauderwälsch übrig hätte.

habe jetzt erstmal alle wörter mit weniger als 4 buchstaben gekickt und auf einmal geht's pima - das verstehe wer will .... ;)