Maison > développement back-end > tutoriel php > Comment puis-je couper efficacement les chaînes à une longueur spécifiée en PHP et éviter les sauts au milieu des mots ?

Comment puis-je couper efficacement les chaînes à une longueur spécifiée en PHP et éviter les sauts au milieu des mots ?

Barbara Streisand
Libérer: 2024-12-23 22:30:15
original
174 Les gens l'ont consulté

How Can I Efficiently Trim Strings to a Specified Length in PHP and Avoid Mid-Word Breaks?

Découper des chaînes avec des points en PHP : un guide complet

Besoin de condenser des chaînes dans votre code PHP ? Voici comment tronquer une chaîne à un nombre spécifié de caractères et ajouter des points de suspension (...) si des caractères sont supprimés.

La solution Swift :

$string = substr($string, 0, 10) . '...';
Copier après la connexion

Cette méthode simple récupère les dix premiers caractères de la chaîne, suivis de points de suspension si nécessaire.

Optimisé Approche :

$string = (strlen($string) > 13) ? substr($string, 0, 10) . '...' : $string;
Copier après la connexion

Cette version mise à jour inclut une vérification pour garantir que la chaîne résultante a la longueur souhaitée. Si la chaîne d'origine dépasse 13 caractères, elle est tronquée à 10 caractères et suivie de points de suspension. Sinon, la chaîne d'origine reste non coupée.

Abstraction fonctionnelle :

function truncate($string, $length, $dots = "...") {
    return (strlen($string) > $length) ? substr($string, 0, $length - strlen($dots)) . $dots : $string;
}
Copier après la connexion

Cette fonction encapsule la logique de découpage, vous permettant de la réutiliser avec différents paramètres. Il faut trois arguments : la chaîne à couper, la longueur souhaitée et une chaîne de points de suspension facultative.

Éviter la rupture au milieu d'un mot :

function truncate($string, $length = 100, $append = "…") {
  $string = trim($string);

  if (strlen($string) > $length) {
    $string = wordwrap($string, $length);
    $string = explode("\n", $string, 2);
    $string = $string[0] . $append;
  }

  return $string;
}
Copier après la connexion

Ceci amélioré La fonction utilise le retour à la ligne pour éviter de casser des chaînes au milieu d'un mot. Si la chaîne est plus longue que la longueur spécifiée, elle est renvoyée à la ligne et tronquée à l'espace le plus proche.

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