Maison >développement back-end >tutoriel php >Comment maintenir les limites des mots lors de la troncature de chaînes ?

Comment maintenir les limites des mots lors de la troncature de chaînes ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-24 06:32:02992parcourir

How to Maintain Word Boundaries When Truncating Strings?

Maintenir les limites des mots lors de la troncature de chaînes

Dans une requête précédente, un utilisateur a cherché à tronquer une chaîne à 100 caractères à l'aide de la fonction substr() fonction. Cependant, cette méthode prenait simplement les 100 premiers caractères, ce qui risquait de casser des mots.

Énoncé du problème

L'objectif est de tronquer une chaîne à un maximum de 100. caractères tout en garantissant que les mots restent intacts. Par exemple :

$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"

Solution PHP

Le code suivant fournit une solution :

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

Explication :

  • La fonction strpos() recherche le caractère espace suivant dans la chaîne parmi les 200 premiers caractères. Cela garantit que nous ne tronquons pas au-delà des 100 premiers caractères.
  • La fonction substr() renvoie la sous-chaîne du début de la chaîne à la position spécifiée, qui est la position du premier espace dans les 200 premiers caractères. personnages.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn