PHP-Strings auf das nächste Wort kürzen
Das Kürzen einer Zeichenfolge auf eine bestimmte Zeichenbeschränkung kann zu einem unansehnlichen Abschneiden in der Mitte des Wortes führen. Um diesem Bedarf gerecht zu werden, untersuchen wir ein PHP-Code-Snippet, das den Text am Ende des nächsten Wortes genau abschneidet.
Lösung 1: Verwenden von Wordwrap
Die Wordwrap-Funktion kann Text basierend auf der angegebenen maximalen Breite in Zeilen aufteilen und an Wortgrenzen umbrechen. Um die gewünschte Kürzung zu erreichen, können wir einfach die erste Zeile aus dem geteilten Text verwenden:
$truncated = substr($string, 0, strpos(wordwrap($string, $limit), "\n"));
Lösung 2: Token-basierte Kürzung
Allerdings Lösung 1 hat eine Einschränkung: Der Text wird vorzeitig abgeschnitten, wenn ein Zeilenumbruchzeichen vor dem Abschneidepunkt erscheint. Um dies zu mildern, können wir eine tokenbasierte Kürzung implementieren:
function tokenTruncate($string, $limit) { $tokens = preg_split('/([\s\n\r]+)/u', $string, null, PREG_SPLIT_DELIM_CAPTURE); $length = 0; $lastToken = 0; while ($length <= $limit && $lastToken < count($tokens)) { $length += strlen($tokens[$lastToken]); $lastToken++; } return implode(array_slice($tokens, 0, $lastToken)); }
Fazit
Durch die Implementierung dieser Lösungen können Sie PHP-Strings effektiv am nächsten Wort kürzen, Gewährleistung einer sauberen und aussagekräftigen Anzeige.
Das obige ist der detaillierte Inhalt vonWie kann ich PHP-Strings auf das nächste Wort kürzen, ohne Abstriche in der Mitte des Wortes?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!