Rendre preg_match insensible à la casse
Dans l'extrait de code fourni dans la question, la sensibilité à la casse empêche l'obtention du résultat escompté. Pour remédier à cela, vous pouvez utiliser le modificateur i dans votre expression régulière, en vous assurant qu'elle ne respecte pas la casse.
Voici comment modifier le code :
preg_match("#(.{100}$keywords.{100})#i", strip_tags($description), $matches);
En ajoutant le modificateur i après le délimiteur (# dans ce cas), l'expression régulière deviendra insensible à la casse. Cela signifie qu'il fera correspondre les lettres majuscules et minuscules, résolvant ainsi le problème de sensibilité à la casse dans le code d'origine.
Le modificateur i peut être utilisé avec n'importe quel délimiteur, pas seulement #. Si vous utilisez le délimiteur /, vous ajouterez le modificateur i après comme ceci :
preg_match("/your_regexp_here/i", $s, $matches); // i means case insensitive
Lorsque le modificateur i est défini, les lettres dans le motif correspondra aux lettres majuscules et minuscules. Cela permet au code de fonctionner correctement quelle que soit la casse des caractères dans la chaîne d'entrée.
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!