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

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

Mary-Kate Olsen
Libérer: 2024-12-14 17:02:18
original
307 Les gens l'ont consulté

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

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

Lorsque vous travaillez avec des chaînes multi-octets, les tronquer à un nombre de caractères spécifique peut être une tâche difficile , surtout si l'on considère les limites des mots. Une façon courante de résoudre ce problème consiste à utiliser les fonctions de chaîne multi-octets fournies par PHP.

Une approche consiste à utiliser les étapes suivantes :

  1. Soustrayez la longueur de la chaîne de terminaison de la valeur souhaitée. longueur tronquée.
  2. Déterminez si la chaîne dépasse la limite calculée.
  3. Identifiez le dernier caractère espace dans la chaîne dans la limite calculée.
  4. Tronquez la chaîne soit au dernier espace, soit à la limite calculée.
  5. Ajoutez la chaîne de terminaison à la partie tronquée.

Pendant que cette approche semble logique, son implémentation à l'aide des fonctions str ou mb_ peut être délicate. Alternativement, PHP propose une fonction intégrée qui effectue la troncature multi-octets : 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 …"
?>
Copier après la connexion

Bien que mb_strimwidth ne prenne pas en compte les limites des mots, il fournit une méthode fiable et simple pour tronquer les chaînes multi-octets.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal