Maison >développement back-end >tutoriel php >Comment puis-je tronquer une chaîne multi-octets tout en préservant les limites des mots ?

Comment puis-je tronquer une chaîne multi-octets tout en préservant les limites des mots ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-18 02:58:10213parcourir

How Can I Truncate a Multibyte String While Preserving Word Boundaries?

Troncation de chaîne multi-octets avec contrôle des limites de mots

Question :

Comment puis-je tronquer un chaîne multi-octets avec un nombre spécifié de caractères, en conservant le mot limites ?

Étapes de troncature :

  1. Calculez la longueur maximale de troncature en soustrayant la longueur de la chaîne de terminaison du nombre de caractères souhaité.
  2. Vérifiez si la chaîne est plus longue que la longueur maximale ; sinon, renvoie la chaîne inchangée.
  3. Recherche le dernier caractère d'espace dans la longueur de troncature calculée.
  4. Tronque la chaîne au dernier caractère d'espace ou à la longueur calculée si aucun espace n'est trouvé.
  5. Ajouter la chaîne de terminaison à la chaîne tronquée.
  6. Renvoyer le texte modifié string.

Implémentation (utilisation de mb_strimwidth pour la prise en charge des caractères multi-octets) :

function truncate_with_words($string, $chars = 50, $terminator = '...') {}

[Implémentation]

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