我遇到了一个php正则表达式,如下所述,我不确定为什么会使用\q\
,有人可以帮我理解这个吗?
$strBuildTitle="SOME URL";
$patterns[0] = "/[^a-zA-Z0-9\q\ ]/";
$replacements[0] = " ";
$strBuildTitle = preg_replace($patterns, $replacements, $strBuildTitle);
我相信它会尝试从给定的网址中删除任何非字母数字字符,不知道为什么\q\
在这里使用。是否与删除引号有关?
答案 0 :(得分:2)
\q
和\
无效escape sequences。
在双引号字符串中,PHP的政策是忽略它们并用它们的表观值替换它们,这意味着\
只是变成而
\q
变成q
。后一种情况已由[a-z]
涵盖。