2014-09-23 45 views
0

我有一个网站,用户可以从输入表单中搜索文本文件。该网站将搜索发布到服务器,在该服务器中执行 type命令。转义正则表达式解析用户输入

日志文件包含特殊字符,例如`[(和某些字符“破发”的grep的功能,有没有,如果用户想应该是能够搜索他们。

的问题是列表在处理数据或内置函数之前需要转义的字符?escapeshellarg在这种情况下不起作用,我无法在线查找应该转义的字符列表

+0

你为什么使用'shell_exec'?使用PHP内置的'preg_match',并使用'preg_quote'来转义输入。 – Barmar 2014-09-23 08:09:36

+0

这些文件非常庞大,而且PHP比grep慢得多 – dukevin 2014-09-23 08:10:28

+1

您可以在调用'escapeshellarg'前尝试使用'preg_quote'。但是由于PHP的regexp与grep不同,可能会有一些不兼容的地方。 – Barmar 2014-09-23 08:11:39

回答