我已经完成了这段代码:
preg_match('/[\"\'><\/\\\]/', $foo))
问题是,我不确定这是否只会查找以下特殊字符,还是我错过了?
< > " ' / \
同样的情况,但对于HTML输入,这是正确的吗?
<input ... pattern="[^<>/\x5C;'\x22]+" />
感谢您的回复。
答案 0 :(得分:1)
如果您要测试这些字符是否存在,this should work:
if (preg_match('/["\'><\/\\]/', $foo))) {
...
}
禁止这些字符的相应HTML模式would look like this:
<input pattern="[^"'></\\]*"/>
如果您尝试将这些字符与使用户输入安全插入数据库或HTML显示的概念相匹配,那么您将采用完全错误的方式。查看strip_tags()
,filter_var()
和准备好的陈述。