欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

PHP正则表达式 $val = preg_replace('/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/', '', $val); 这行代码当$val是什么情况下成立?

shiping1 的头像
$val 里面有 ASCII 码(十六进制)为
00 至 08
0b 至 0c
0e 至 19

的字符(都是不可见字符),或者逗号,就替换为空(删除)。

感觉表达式里面的逗号是错误的,原来的意思可能是:

[\x00-\x08\x0b-\x0c\x0e-\x19]

因为如果要匹配逗号,不需要写两次
搜索
提问者评价
谢谢,这段代码来自网络的RemoveXSS函数,怪不得逗号无故消失了
普通分类: