Maison > développement back-end > tutoriel php > Comment puis-je tronquer efficacement des chaînes en PHP ?

Comment puis-je tronquer efficacement des chaînes en PHP ?

Susan Sarandon
Libérer: 2024-12-12 10:40:11
original
711 Les gens l'ont consulté

How Can I Efficiently Truncate Strings in PHP?

Tronquer les chaînes en PHP : une approche globale

En PHP, vous pouvez rencontrer des situations où vous devez limiter le nombre de caractères affichés dans une chaîne. Ceci est généralement effectué pour préserver l'espace ou afficher uniquement un aperçu d'un contenu plus long. Explorons différentes techniques pour tronquer efficacement des chaînes.

Obtention des n premiers caractères

Pour une troncature simple, vous pouvez utiliser la fonction substr() de PHP. Par exemple, pour obtenir les 10 premiers caractères d'une chaîne et ajouter des points de suspension (...) si des caractères sont supprimés, vous pouvez utiliser le code suivant :

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

Optimisation de la longueur

Pour vous assurer que la chaîne tronquée a toujours la longueur souhaitée, vous pouvez vérifier la longueur avant troncature :

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

Dans cet exemple, la longueur maximale est de 13 caractères. Si la chaîne est plus longue, elle est tronquée à 10 caractères suivis de points de suspension ; sinon, la chaîne d'origine est renvoyée.

Création d'une fonction Truncate

Pour une solution plus réutilisable, vous pouvez créer une fonction truncate() personnalisée :

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

Cette fonction prend la chaîne d'origine, la longueur souhaitée et une chaîne de points de suspension facultative comme paramètres.

Éviter les sauts de mots

Si vous souhaitez éviter de tronquer une chaîne au milieu d'un mot, vous pouvez utiliser la fonction wordwrap() de PHP :

function truncate($string, $length=100, $append="…") {
    //... (omitting other code from previous code snippet)
    $string = explode("\n", $string, 2);
    $string = $string[0] . $append;
    //... (continuing code from previous code snippet)
}
Copier après la connexion

Ce code garantit que la chaîne tronquée ne se termine pas au milieu d'un mot en l'enveloppant à la limite du mot la plus proche avant tronquant.

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