


Maintenir l'intégrité sémantique : tronquer les chaînes à la limite de mots la plus proche
Lorsque l'on traite des chaînes en programmation, il est souvent nécessaire de les tronquer pour les adapter à une longueur spécifique. Cependant, couper naïvement des caractères peut conduire à des résultats gênants ou incorrects, surtout si la troncature se produit au milieu d'un mot.
En PHP, nous disposons de quelques options pour tronquer des chaînes tout en préservant l'intégrité sémantique.
Utilisation de Wordwrap et Substring
La fonction wordwrap peut diviser une chaîne en plusieurs lignes, en respectant les limites des mots. En spécifiant une largeur maximale, nous pouvons créer un saut de ligne au mot le plus proche avant la longueur souhaitée. L'extrait de code suivant illustre cette approche :
$string = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."; $desired_width = 200; $truncated_string = substr($string, 0, strpos(wordwrap($string, $desired_width), "\n"));
Maintenant, $truncated_string contient le texte souhaité, mais seulement jusqu'à la fin du dernier mot avant le 200ème caractère.
Gestion des cas extrêmes.
Cette approche fonctionne bien, mais elle ne gère pas le cas où la chaîne d'origine est plus courte que la largeur souhaitée. Pour résoudre ce problème, nous pouvons envelopper la logique dans une instruction conditionnelle :
if (strlen($string) > $desired_width) { $truncated_string = substr($string, 0, strpos(wordwrap($string, $desired_width), "\n")); }
Gérer les nouvelles lignes
Un problème subtil survient lorsque la chaîne contient un caractère de nouvelle ligne avant le point de troncature souhaité. Dans de tels cas, la fonction wordwrap peut créer un saut de ligne prématurément. Pour surmonter ce problème, nous pouvons utiliser une approche basée sur des expressions régulières plus sophistiquées :
function tokenTruncate($string, $desired_width) { $parts = preg_split('/([\s\n\r]+)/u', $string, null, PREG_SPLIT_DELIM_CAPTURE); $parts_count = count($parts); $length = 0; $last_part = 0; for (; $last_part $desired_width) { break; } } return implode(array_slice($parts, 0, $last_part)); }
Cette fonction parcourt les jetons de mots et s'arrête lorsque la longueur totale dépasse la largeur souhaitée. Il reconstruit ensuite la chaîne tronquée, en s'assurant qu'elle se termine à la limite d'un mot.
Test et complexités de gestion
Les tests unitaires sont cruciaux pour valider la fonctionnalité de notre code. La classe de test PHP PHPUnit fournie démontre le comportement correct de la fonction tokenTruncate.
Les caractères UTF8 spéciaux comme « à » peuvent nécessiter une manipulation supplémentaire. Ceci peut être réalisé en ajoutant « u » à la fin de l'expression régulière :
$parts = preg_split('/([\s\n\r]+)/u', $string, null, PREG_SPLIT_DELIM_CAPTURE);
En employant ces techniques, nous pouvons tronquer en toute confiance des chaînes en PHP, en conservant leur intégrité sémantique et en garantissant des résultats esthétiques et cohérents. .
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!

Laravel simplifie la gestion des données de session temporaires à l'aide de ses méthodes de flash intuitives. Ceci est parfait pour afficher de brefs messages, alertes ou notifications dans votre application. Les données ne persistent que pour la demande ultérieure par défaut: $ demande-

L'extension PHP Client URL (CURL) est un outil puissant pour les développeurs, permettant une interaction transparente avec des serveurs distants et des API REST. En tirant parti de Libcurl, une bibliothèque de transfert de fichiers multi-protocol très respectée, PHP Curl facilite Efficient Execu

Laravel fournit une syntaxe de simulation de réponse HTTP concise, simplifiant les tests d'interaction HTTP. Cette approche réduit considérablement la redondance du code tout en rendant votre simulation de test plus intuitive. L'implémentation de base fournit une variété de raccourcis de type de réponse: Utiliser illuminate \ support \ faades \ http; Http :: faux ([[ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

Voulez-vous fournir des solutions instantanées en temps réel aux problèmes les plus pressants de vos clients? Le chat en direct vous permet d'avoir des conversations en temps réel avec les clients et de résoudre leurs problèmes instantanément. Il vous permet de fournir un service plus rapide à votre personnalité

La journalisation PHP est essentielle pour surveiller et déboguer les applications Web, ainsi que pour capturer des événements critiques, des erreurs et un comportement d'exécution. Il fournit des informations précieuses sur les performances du système, aide à identifier les problèmes et prend en charge le dépannage plus rapide

L'article traite de la liaison statique tardive (LSB) dans PHP, introduite dans PHP 5.3, permettant une résolution d'exécution de la méthode statique nécessite un héritage plus flexible. Problème main: LSB vs polymorphisme traditionnel; Applications pratiques de LSB et perfo potentiel

L'article examine l'ajout de fonctionnalités personnalisées aux cadres, en se concentrant sur la compréhension de l'architecture, l'identification des points d'extension et les meilleures pratiques pour l'intégration et le débogage.

Alipay Php ...


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

Dreamweaver Mac
Outils de développement Web visuel

Navigateur d'examen sécurisé
Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),