Maison >développement back-end >tutoriel php >Comment puis-je rendre `preg_match()` de PHP insensible à la casse ?
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);
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);
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
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/"
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!