Andreas Korthaus: wo steht wordchar-Definition im MySQL-Quelltext?

Beitrag lesen

Hi Christian!

Wie du siehst,

am besten "wie man leicht sieht..." ;-)

Das hieße ja Wörter nur durch durch '_', '' und Zahlen
getrennt werden, oder?

Nee, ganz und gar nicht. Das heisst, Woerter werden durch
*alle* Zeichen ausser a-zA-Z0-9_' und optional noch -
getrennt.

So grob habe ich es verstanden, hatte das genau anders herum gedacht, aber so rum ist es auch erheblich einfacher!

Wenn ich jetzt selbst eien Funktion schreibe, die aus einem textstring die Worte trennt, wie mache ich das am besten(möglichst performant) in PHP?
Ich hatte mir das jetzt mal so überlegt:

for ($i=0,$word_start=0;$i<strlen($input_string);$i++) {
    if(preg_match("/[^a-zA-Z0-9äöüÄÖÜ_/-]/",substr($input_string,$i,1))) {
        if($word_end) {
            $word_array[] = substr($input_string,$word_start);
        }
        $word_start = $i+1;
        unset($word_end);
    }
    else {
        $word_end = $i;
    }
}

Was sagst Du dazu? Da ich ja ne ganze Menge Text parsen muß, ist ein regulärer Ausdruck vermutlich fehl am Platz, oder? Auch meine if-Konstruktion erscheint mir nicht wirklich optimal zu sein, oder? Aber wie soll man das sonst lösen? Und auch die Verwendung von substr(), leider kenne ich keine andere Methode einen String buchstabenweise zu durchsuchen.

PS: Wieso beschwert sich das Forum ich hätte "mehr als 50%
zitierte Zeilen" in meinem Posting?

Weil du nur 2 oder 3 Zeilen im Vergleich zu 7 geschrieben
hast? :)

Das ist aber blöd, nicht jeder fügt manuell Zeilenumrüche in laufenden Text ein, oder? Zumindest hatte ich deutlich mehr geschrieben als zitiert.(und mehr Zeilen auf dem Bildschirm hatte ich auch ;-))

Nochmals vielen Dank!

Grüße
Andreas