Thomas Schmieder: die ersten 2 wörter in einem text

Beitrag lesen

Hallo Daniel,

welches Datenbanksystem benutzt Du denn?

Der Text steht sicher jeweils in _einem_ Feld. Bei SQL-Systemen kann man ggf. nue einen  Teil des Feldes holen. Ist natürlich alles nur Statistik. Aber Du könntest davon ausgehen, dass die ersten zwei Wörter sicher innerhalb der ersten hundert Zeichen liegen.

Unter C oder einer anderen Hochsprache könnte men eine eigene Funktion für die Separation der Elemente schreiben, die nach dem zweiten Element dann automatisch abbricht. Das würde sicher Zeit sparen. In einer Interpretersprache eine fertige Funktion (compiliert) durch eine eigene (interpretiert) zu ersetzen, halte ich für Blödsinn. Die interpretierte wird je nach Rechenoperation 10 bis 400mal solange dauern. Da es hier nur um den simplen Vergleich (Suchen des Leerzeichnens) und einige Kopieroperationen geht, wird sich das wohl eher bei 10 mal solange einpendeln.

Mit MySQL würd eich die MID(string,start,count)-Funktion einsetzen.

Select mid(<feldname>,0,60) as ANFANG from <tabellenname> ...

$begin=explode(" ",$row['text']);
   echo $begin[0]." ".$begin[1].".. ";

und dann den Rest so lassen.

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.