Maison >développement back-end >tutoriel php >Comment puis-je tronquer les chaînes PHP au mot le plus proche sans coupures au milieu des mots ?
Tronquer les chaînes PHP au mot le plus proche
Tronquer une chaîne à une limite de caractères spécifique peut entraîner une coupure inesthétique au milieu du mot. Pour répondre à ce besoin, nous explorons un extrait de code PHP qui tronque avec précision le texte à la fin du mot le plus proche.
Solution 1 : Utiliser Wordwrap
La fonction wordwrap peut diviser le texte en lignes en fonction de la largeur maximale spécifiée, en dépassant les limites des mots. Pour obtenir la troncature souhaitée, nous pouvons simplement utiliser la première ligne du texte fractionné :
$truncated = substr($string, 0, strpos(wordwrap($string, $limit), "\n"));
Solution 2 : Troncation basée sur des jetons
Cependant, la solution 1 a une limitation : il coupe prématurément le texte si un caractère de nouvelle ligne apparaît avant le point de coupure. Pour atténuer cela, nous pouvons implémenter une troncature basée sur des jetons :
function tokenTruncate($string, $limit) { $tokens = preg_split('/([\s\n\r]+)/u', $string, null, PREG_SPLIT_DELIM_CAPTURE); $length = 0; $lastToken = 0; while ($length <= $limit && $lastToken < count($tokens)) { $length += strlen($tokens[$lastToken]); $lastToken++; } return implode(array_slice($tokens, 0, $lastToken)); }
Conclusion
En implémentant ces solutions, vous pouvez efficacement tronquer les chaînes PHP au mot le plus proche, assurant un affichage propre et significatif.
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!