Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich Multibyte-Strings abschneiden und gleichzeitig die Wortgrenzen in PHP beibehalten?

Wie kann ich Multibyte-Strings abschneiden und gleichzeitig die Wortgrenzen in PHP beibehalten?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-14 17:02:18306Durchsuche

How Can I Truncate Multibyte Strings While Preserving Word Boundaries in PHP?

Abschneiden einer Multibyte-Zeichenfolge mit Wortgrenzenkontrolle

Bei der Arbeit mit Multibyte-Zeichenfolgen kann das Abschneiden auf eine bestimmte Zeichenanzahl eine herausfordernde Aufgabe sein , insbesondere wenn man Wortgrenzen berücksichtigt. Eine übliche Möglichkeit, dies zu beheben, besteht darin, die von PHP bereitgestellten Multibyte-String-Funktionen zu verwenden.

Ein Ansatz umfasst die Verwendung der folgenden Schritte:

  1. Subtrahieren Sie die Länge der Abschlusszeichenfolge von der gewünschten abgeschnittene Länge.
  2. Bestimmen Sie, ob die Zeichenfolge den berechneten Grenzwert überschreitet.
  3. Identifizieren Sie das letzte Leerzeichen innerhalb der Zeichenfolge innerhalb der berechnetes Limit.
  4. Schneiden Sie die Zeichenfolge entweder am letzten Leerzeichen oder am berechneten Limit ab.
  5. Fügen Sie die Abschlusszeichenfolge an den abgeschnittenen Teil an.

Bei diesem Ansatz erscheint logisch, die Implementierung mit den Funktionen str oder mb_ kann schwierig sein. Alternativ bietet PHP eine integrierte Funktion, die eine Multibyte-Kürzung durchführt: mb_strimwidth.

<?php
$string = "Answer to the Ultimate Question of Life, the Universe, and Everything";
$maxLength = 50;
$terminator = ' …';
$truncatedString = mb_strimwidth($string, 0, $maxLength - strlen($terminator), $terminator);

echo $truncatedString; // Output: "Answer to the Ultimate Question of Life, the …"
?>

Während mb_strimwidth Wortgrenzen nicht berücksichtigt, bietet es eine zuverlässige und unkomplizierte Methode zum Kürzung von Multibyte-Strings.

Das obige ist der detaillierte Inhalt vonWie kann ich Multibyte-Strings abschneiden und gleichzeitig die Wortgrenzen in PHP beibehalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn