[PHP] Text richtig kürzen. Nach dem Wort, nicht mittendrin.

Hallo,

hier mal wieder ein Codeschnipsel den ich selbst des Öfteren brauche.

Ab und an muss man mit PHP ja mal einen Text kürzen. Zum Beispiel um eine kleine Vorschau des Textes in einer Kategorie anzuzeigen oder auf sonst einer Übersichtsseite.

Nun könnte man mit substr() den Text einfach nach der vorgegebenen Anzahl an Zeichen abschneiden und 3 Punkte dahinter setzen. Leider passiert dann in den meisten Fällen folgendes:

Hallo lieber Mann im Mo…

Der Text wird mitten im Wort abgeschnitten. Das sieht bescheiden aus. :( Und die Lösung ist so einfach. Die folgende Zeile schafft einfach Abhilfe. Hier wird der Text nur nach ganzen Wörtern abgeschnitten.

$string = Der Text der abgeschnitten werden soll.
$length = Nach wie vielen Zeichen soll der Text abgeschnitten werden.

$string = preg_replace("/[^ ]*$/", '', substr($string, 0, $length));

0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Ich stimme der Datenschutzerklärung zu