Maison > développement back-end > tutoriel php > Comment puis-je rendre `preg_match()` de PHP insensible à la casse ?

Comment puis-je rendre `preg_match()` de PHP insensible à la casse ?

Mary-Kate Olsen
Libérer: 2024-11-30 17:27:13
original
585 Les gens l'ont consulté

How Can I Make PHP's `preg_match()` Case-Insensitive?

Ignorer la casse dans preg_match()

Lorsque vous effectuez une correspondance de modèles à l'aide de la fonction preg_match() de PHP, vous pouvez rencontrer des situations où le respect de la casse devient un facteur. Pour rendre preg_match() insensible à la casse, vous pouvez utiliser la technique suivante :

Solution :

La clé de l'insensibilité à la casse dans preg_match() réside dans l'ajout du i modificateur après le délimiteur. Par exemple, considérons le cas suivant :

preg_match("#(.{100}$keywords.{100})#", strip_tags($description), $matches);
Copier après la connexion

Dans cet exemple, le but est d'afficher 100 caractères de chaque côté de la chaîne de recherche $keywords. Bien que ce code soit fonctionnel, il est sensible à la casse. Pour le rendre insensible à la casse, ajoutez le modificateur i comme suit :

preg_match("#(.{100}$keywords.{100})#i", strip_tags($description), $matches);
Copier après la connexion

Alternativement, si votre délimiteur est une barre oblique "/", vous pouvez ajouter le i modificateur après, comme le montre l'exemple suivant :

preg_match("/your_regexp_here/i", $s, $matches); // i means case insensitive
Copier après la connexion

Effet du i Modificateur :

En spécifiant le modificateur i, vous demandez à preg_match() d'ignorer les différences de casse dans le processus de correspondance. Cela signifie que si la chaîne cible contient des lettres majuscules ou minuscules correspondant au modèle, la correspondance réussira quand même.

Exemple :

Considérez le modèle :

"/abc/"
Copier après la connexion

Avec le modificateur i appliqué, ce modèle correspondra aux chaînes "ABC", "abc" et "ABC". Sans le modificateur i, seule la chaîne exacte "abc" serait mise en correspondance.

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