我编写了以下代码(是的,它确实有效)并且想知道为什么我不需要逃避模式中的'<'和'>'字符,因为它们被php手册视为'特殊'字符.
http://www.php.net/manual/en/function.preg-quote.php
var_dump(preg_match('/<[A-Za-z][A-Za-z0-9]*>/', "<html>", $matches));
echo "<pre>";
var_dump(htmlentities($matches[0]));
echo "</pre>";
Run Code Online (Sandbox Code Playgroud)
输出:
int(1)
string(12) "<html>"
Run Code Online (Sandbox Code Playgroud)
hjp*_*r92 17
只需在PHP正则表达式匹配/替换中转义此页面上列出的字符.
虽然<并且>可以充当分隔符,但在给定的示例中不需要进行转义,因为您已经/(斜杠)充当分隔符.
参考相关链接
该
preg_quote()函数可用于转义字符串以便注入模式,其可选的第二个参数可用于指定要转义的分隔符.