我遇到了一个php正则表达式,下面提到了,我不确定为什么在其中使用'q'
,有人能帮助我理解吗?
$strBuildTitle="SOME URL";
$patterns[0] = "/[^a-zA-Z0-9'q' ]/";
$replacements[0] = " ";
$strBuildTitle = preg_replace($patterns, $replacements, $strBuildTitle);
我相信它试图从给定的url中删除任何非字母数字字符,不确定这里为什么使用'q'
。是否与删除引号有关?
'q
和'
不是有效的转义序列。
在双引号字符串中,PHP的策略是忽略这些字符串并用它们的表观值替换它们,这意味着'
只是变成,
q
变成[a-z]
。CCD_9已经涵盖了后一种情况。