我知道如果我使用多字节(UTF-8)字符作为模式,我必须使用mb_
函数或必须使用函数u
模式的选项preg_
。
但是,当我仅将多字节(UTF-8)字符用于preg_
函数主题并仅将 ascii 字符用于模式时,preg_
函数(无u
选项)是否正常工作?
我知道在这种情况下我必须使用mb_
函数或u
向模式添加选项:
$str = preg_replace("/$utf8_multibyte_pattern/", '', $str);
我想知道此代码(u
未使用选项)是否安全:
$ascii_pattern = "[a-zA-Z0-9'$#\\\"%&()\-~|~=!@`{}[]:;+*/.,_<>?_\n\t\r]";
$multibyte_str = preg_replace("/$ascii_pattern/", '', $utf8_multibyte_str);