Maison  >  Article  >  développement back-end  >  Comment trouver efficacement des occurrences de mots dans une chaîne en utilisant PHP ?

Comment trouver efficacement des occurrences de mots dans une chaîne en utilisant PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-27 17:53:02617parcourir

How to efficiently find word occurrences in a string using PHP?

Recherche d'occurrences de mots dans une chaîne avec PHP

Question :

Comment pouvez-vous déterminer si un mot spécifique existe dans une chaîne donnée ?

Réponse :

PHP propose plusieurs méthodes pour vérifier les occurrences de mots :

strpos () et stripos() Fonctions :

Ces fonctions recherchent la première occurrence d'une chaîne dans une autre chaîne. S'ils sont trouvés, ils renvoient l'index des caractères de la correspondance. Sinon, ils renvoient faux. Pour vérifier l'existence, comparez la valeur de retour avec false :

<code class="php">$needle = 'to';
$haystack = 'I go to school';

if (strpos($haystack, $needle) !== false) {
    echo 'Found!';
}</code>

strstr() et strstr() Fonctions :

Ces fonctions renvoient la partie de la botte de foin après la première apparition de l'aiguille. Si l'aiguille n'est pas trouvée, ils renvoient false. Pour vérifier l'existence, vérifiez si la valeur renvoyée n'est pas fausse :

<code class="php">if (strstr($haystack, $needle)) {
    echo 'Found!';
}</code>

preg_match() Fonction :

Preg_match utilise des expressions régulières pour trouver des correspondances. Il renvoie 1 pour une correspondance réussie, 0 pour aucune correspondance ou faux en cas d'erreur. Pour vérifier l'existence, comparez la valeur de retour avec 1:

<code class="php">if (preg_match('/to/', $haystack)) {
    echo 'Found!';
}</code>

str_contains() Fonction (PHP 8.0) :

Introduite dans PHP 8.0, cette fonction directement vérifie si une chaîne en contient une autre. Il renvoie vrai si l'aiguille est trouvée, et faux sinon :

<code class="php">if (str_contains($haystack, $needle)) {
    echo 'Found!';
}</code>

Pour des raisons de simplicité et de franchise, strpos() est un choix approprié à cet effet. Si des opérations supplémentaires doivent être effectuées sur le résultat, strstr() ou preg_match() peuvent être plus appropriées. Pour une correspondance de modèle précise, preg_match() offre une plus grande flexibilité.

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:
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