转义正则表达式解析的用户输入

时间:2014-09-23 08:08:01

标签: php regex validation escaping

我有一个网站,用户可以从输入表单中搜索文本文件。该网站将搜索发布到服务器,在该服务器上执行shell_exec grep -E "^(LOG|DATE)+.$query"类型命令。

日志文件包含特殊字符,如`[(如果用户希望能够搜索它们。

问题是某些字符会“破坏”grep功能。在处理数据或内置函数之前是否需要转义的字符列表? escapeshellarg在这种情况下不起作用,我在网上找不到应该转义的字符列表

1 个答案:

答案 0 :(得分:0)

由于您使用的是PHP,请使用preg_match('/patern/', $str); 要使用正则表达式转义字符串,请使用preg_quote($str)