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

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

DDD
Libérer: 2024-11-02 12:17:02
original
790 Les gens l'ont consulté

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

Extraire des mots spécifiques d'une chaîne de texte

Question :

Comment puis-je limiter la nombre de mots renvoyés par une chaîne de texte ? Par exemple, je souhaite uniquement obtenir les 10 premiers mots.

Réponse :

Pour récupérer uniquement les N premiers mots d'une chaîne, vous pouvez utiliser différentes méthodes dans PHP. Explorons quelques options :

Implode avec Array Slice :

Cette approche utilise les fonctions implode() et array_slice() pour obtenir le résultat souhaité :

<code class="php">$sentence = "Lorem ipsum dolor sit amet, consectetur adipiscing elit.";
$words = implode(' ', array_slice(explode(' ', $sentence), 0, 10));
echo $words; // Output: "Lorem ipsum dolor sit amet consectetur adipiscing elit"</code>
Copier après la connexion

Méthode Preg_match :

La fonction preg_match() fournit une solution plus flexible, permettant la prise en charge d'autres sauts de mots, tels que des virgules ou des tirets :

<code class="php">function get_words($sentence, $count = 10) {
  preg_match("/(?:\w+(?:\W+|$)){0,$count}/", $sentence, $matches);
  return $matches[0];
}

$sentence = "Lorem ipsum, dolor sit-amet, consectetur adipiscing elit.";
echo get_words($sentence); // Output: "Lorem ipsum dolor sit-amet"</code>
Copier après la connexion

Gestion d'Unicode et d'UTF-8 :

Notez que les modèles de délimiteurs de mots par défaut de PHP ne prennent pas en compte les caractères UTF-8. Si des caractères Unicode et UTF-8 sont attendus dans vos chaînes, vous pouvez personnaliser les modèles selon vos besoins :

<code class="php">$pattern = "/[^\s,\.;\?\!]+([\s,\.;\?\!])?{0,$count}/u";</code>
Copier après la connexion

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal