Maison > développement back-end > tutoriel php > Comment extraire un nombre spécifique de mots d'une chaîne en PHP ?

Comment extraire un nombre spécifique de mots d'une chaîne en PHP ?

Linda Hamilton
Libérer: 2024-11-04 03:55:02
original
1028 Les gens l'ont consulté

How to Extract a Specific Number of Words from a String in PHP?

Extraire les mots initiaux d'une chaîne

Problème : Limiter le contenu textuel en extrayant uniquement un nombre spécifié de mots d'une chaîne.

Solution : Utilisez l'approche suivante :

Utilisation de implode() et array_slice()

<code class="php">implode(' ', array_slice(explode(' ', $sentence), 0, 10));</code>
Copier après la connexion
  • Divisez la chaîne en un tableau de mots en utilisant éclater().
  • Découpez le tableau pour ne conserver que le nombre de mots souhaité (dans ce cas, 10).
  • Rejoignez le tableau découpé en une chaîne en utilisant implode().

Utilisation de preg_match() pour une personnalisation améliorée de la suppression des mots

<code class="php">function get_words($sentence, $count = 10) {
  preg_match("/(?:\w+(?:\W+|$)){0,$count}/", $sentence, $matches);
  return $matches[0];
}</code>
Copier après la connexion
  • Cette fonction utilise des expressions régulières pour faire correspondre des groupes de caractères de mots (w ) qui peuvent être entrecoupés de caractères autres que des mots (W ) ou la fin de la ligne ($).
  • Le quantificateur {0,$count} restreint les correspondances au nombre de mots souhaité.
  • La fonction renvoie le faire correspondre les mots sous la forme d'une seule chaîne.

Gestion UTF-8/Unicode

Les fonctions intégrées de PHP peuvent ne pas gérer les caractères UTF-8/Unicode de manière optimale. Pour résoudre ce problème :

  • Remplacez w par 1 pour les caractères de mots.
  • Remplacez W par [s,.;?!] pour les caractères autres que des mots.

  1. s,.;?!

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!

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