我有一个网站,用户可以在该网站上从输入表单中搜索文本文件。该网站将搜索结果发布到服务器,并在服务器上执行shell_exec grep -E "^(LOG|DATE)+.$query"
类型命令。
日志文件包含特殊字符,如`[(如果用户想搜索,应该可以搜索它们。
问题是某些字符"破坏"了grep函数。在处理数据或内置函数之前,是否有需要转义的字符列表?escapeshellarg
在这种情况下不起作用,我在网上找不到应该转义的字符列表
由于您使用的是PHP,请使用preg_match('/patern/', $str);
要对正则表达式的字符串进行转义,请使用preg_quote($str)