PHP – Protection des caractères spéciaux des expressions regulière

Si l’on veut utiliser une expression régulière pour par exemple rechercher un mot dans un paragraphe, il est important de protéger sa variable. Pour ce faire, il suffit d’utiliser la fonction suivante:

string preg_quote ( string $str [, string $delimiter = NULL ] )

Par exemple:

foreach ($aRequest['keywords'] as $sKeyword) {
    $sKeyword = preg_quote($sKeyword);
    $pattern = '/[^a-zA-Z0-9]' . $sKeyword . '[^a-zA-Z0-9]/i';
    preg_match_all($pattern, $sContent, $aResult);
}

Laisser un commentaire