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
615 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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!