PHP: Einfacher Weg um Text-Strings zu kürzen ohne Wörter zu beschneiden

Darf es etwas kürzer sein?

Um in PHP einen Text-String zu kürzen - beispielsweise für einen Auszug - verwendet man in der Regel die Funktion substr(). Das Resultat dieser Funktion ist meist jedoch nicht zufriedenstellend, da Worte am Limit einfach abgeschnitten werden. Mit einem kleinen Trick und bloß einer Zeile Code lässt sich dieses Verhalten umgehen.

Der Code

<?php
$kurztext =  preg_replace("/[^ ]*$/", '', substr(strip_tags($volltext), 0, 140));
?>
Als Textdatei öffnen | since1985de_b5a490ee.txt | 135 Byte

Kurz erklärt.

Der $kurztext ergibt sich aus dem gekürzten und von HTML-Tags befreiten $volltext. Um das gewünschte Ergebnis zu erzielen entfernen wir per preg_replace() alles was kein Leerzeichen ist und über dem in der Funktion substr() definierten Limit liegt. So erhalten wir einen String, der nur aus vollständigen Worten besteht.