Heim  >  Artikel  >  Backend-Entwicklung  >  Wie bleiben Wortgrenzen beim Abschneiden von Zeichenfolgen erhalten?

Wie bleiben Wortgrenzen beim Abschneiden von Zeichenfolgen erhalten?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-24 06:32:02922Durchsuche

How to Maintain Word Boundaries When Truncating Strings?

Wortgrenzen beim Abschneiden von Zeichenfolgen beibehalten

In einer früheren Abfrage versuchte ein Benutzer, eine Zeichenfolge mit substr() auf 100 Zeichen zu kürzen Funktion. Bei dieser Methode wurden jedoch lediglich die ersten 100 Zeichen verwendet, wodurch möglicherweise Wörter unterbrochen wurden.

Problemstellung

Das Ziel besteht darin, eine Zeichenfolge auf maximal 100 zu kürzen Zeichen und stellt gleichzeitig sicher, dass Wörter intakt bleiben. Zum Beispiel:

$big = "This is a sentence that has more than 100 characters in it, and I want to return a string of only full words that is no more than 100 characters!"

$small = truncate_string($big);

echo $small;

// OUTPUT: "This is a sentence that has more than 100 characters in it, and I want to return a string of only"

PHP-Lösung

Der folgende Code bietet eine Lösung:

<code class="php">function truncate_string($string)
{
    $pos = strpos($string, ' ', 200);
    return substr($string, 0, $pos);
}</code>

Erklärung:

  • Die Funktion strpos() sucht innerhalb der ersten 200 Zeichen nach dem nächsten Leerzeichen in der Zeichenfolge. Dadurch wird sichergestellt, dass wir nicht über die ersten 100 Zeichen hinaus abschneiden.
  • Die Funktion substr() gibt die Teilzeichenfolge vom Anfang der Zeichenfolge bis zur angegebenen Position zurück, bei der es sich um die Position des ersten Leerzeichens innerhalb der ersten 200 handelt Zeichen.

Das obige ist der detaillierte Inhalt vonWie bleiben Wortgrenzen beim Abschneiden von Zeichenfolgen erhalten?. 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