Maison > développement back-end > tutoriel php > Comment puis-je tronquer des chaînes en PHP tout en conservant l'intégrité grammaticale ?

Comment puis-je tronquer des chaînes en PHP tout en conservant l'intégrité grammaticale ?

Linda Hamilton
Libérer: 2024-12-31 21:26:12
original
414 Les gens l'ont consulté

How Can I Truncate Strings in PHP While Maintaining Grammatical Integrity?

Tronquer les chaînes pour maintenir l'intégrité grammaticale en PHP

Problème :

Lors de l'affichage du texte sur une page web, il est parfois nécessaire de tronquer de longues chaînes pour tenir dans un espace limité. Cependant, tronquer arbitrairement le texte à un nombre de caractères spécifique peut entraîner la coupure de phrases au milieu des mots. Cela peut compromettre la lisibilité et la signification du texte. Au lieu de cela, il est souhaitable de tronquer le texte à la fin du mot le plus proche du nombre de caractères spécifié.

Solution :

PHP propose deux solutions principales pour résoudre ce problème. problème :

Utilisation de Wordwrap

La fonction wordwrap rompt un texte en plusieurs lignes d'une largeur spécifiée, garantissant que les mots ne sont pas divisés. En utilisant substr() pour récupérer la première ligne, vous pouvez effectivement tronquer le texte jusqu'à la fin du dernier mot complet.

$string = "This is a really long string that exceeds the desired length.";
$your_desired_width = 200;
$result = substr($string, 0, strpos(wordwrap($string, $your_desired_width), "\n"));
Copier après la connexion

Utilisation de preg_split

Avec preg_split() et une expression régulière qui correspond aux espaces ou aux nouvelles lignes, la chaîne peut être divisée en mots et en espaces. Vous pouvez ensuite parcourir le nombre de mots jusqu'à ce que la longueur cumulée dépasse la largeur souhaitée. Le texte est tronqué en concaténant les mots jusqu'au point où la limite de longueur est atteinte.

function tokenTruncate($string, $your_desired_width) {
  $parts = preg_split('/([\s\n\r]+)/', $string, null, PREG_SPLIT_DELIM_CAPTURE);
  $parts_count = count($parts);

  $length = 0;
  $last_part = 0;
  for (; $last_part < $parts_count; ++$last_part) {
    $length += strlen($parts[$last_part]);
    if ($length > $your_desired_width) { break; }
  }

  return implode(array_slice($parts, 0, $last_part));
}
Copier après la connexion

En utilisant ces techniques, vous pouvez tronquer élégamment les chaînes en PHP pour garantir qu'elles restent grammaticalement correctes et visuellement attrayantes. .

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