Maison > développement back-end > tutoriel php > Comment rechercher efficacement plusieurs modèles dans une chaîne à l'aide d'un tableau en PHP ?

Comment rechercher efficacement plusieurs modèles dans une chaîne à l'aide d'un tableau en PHP ?

Susan Sarandon
Libérer: 2024-11-25 17:05:16
original
421 Les gens l'ont consulté

How to Efficiently Search a String for Multiple Patterns Using an Array in PHP?

Comment rechercher plusieurs modèles dans une chaîne à l'aide d'un tableau

La fonction strpos est un outil puissant pour rechercher une sous-chaîne spécifique dans un chaîne. Cependant, il ne peut rechercher qu’un seul modèle à la fois. Que se passe-t-il si vous devez vérifier si une chaîne contient l'un des éléments d'une liste de modèles ?

Considérez l'exemple suivant :

$find_letters = ['a', 'c', 'd'];
$string = 'abcdefg';
Copier après la connexion

Si nous essayons de rechercher dans la chaîne le tableau de lettres en utilisant strpos, ça ne marchera pas. En effet, strpos attend une chaîne comme deuxième argument, pas un tableau.

Création d'une fonction pour la recherche de tableau avec strpos

Pour résoudre ce problème, nous pouvons créer une fonction personnalisée qui accepte un tableau de modèles et une chaîne à rechercher. La fonction parcourra le tableau, appelant strpos pour chaque modèle et renverra la position de la première correspondance trouvée :

function strposa(string $haystack, array $needles, int $offset = 0): bool
{
    foreach ($needles as $needle) {
        if (strpos($haystack, $needle, $offset) !== false) {
            return true; // stop on first true result
        }
    }
    return false;
}
Copier après la connexion

Cette fonction peut être utilisée comme suit :

$string = 'This string contains word "cheese" and "tea".';
$array = ['burger', 'melon', 'cheese', 'milk'];
var_dump(strposa($string, $array)); // will return true, since "cheese" has been found
Copier après la connexion

Conclusion

En créant une fonction personnalisée qui enveloppe la fonctionnalité strpos, nous pouvons désormais rechercher efficacement dans une chaîne plusieurs modèles à l'aide d'un tableau. Cette technique peut être utile dans divers scénarios, tels que la validation d'une saisie utilisateur ou l'analyse de texte.

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