用strip_tags替换所有单个PHP $ _POST ['diffentOnEachPage']元素是否有任何可能性($ _ POST ['diffentOnEachPage'])
我的$ _POST元素中约有50%已包含strip_tags(),但有些则不包含。
在没有找到每一个并单独添加strip_tags()的情况下,最好的方法是什么? - 理想情况下使用Notepad ++
答案 0 :(得分:1)
替代方法是从任何地方删除它,然后执行
foreach ($_POST as $key => $value){
$_POST[$key] = strip_tags($value);
}
答案 1 :(得分:1)
由于您已经出现了strip_tags($ _ POST [' baz']),因此您需要注意不要将strip_tags添加到那些。要做到这一点,你要为' strip_tags'做负面的反馈。并且只替换剩余的实例。
另一个问题 - $ _POST [' foo']包装在一个不同的函数中 - 你想要在包装时保留尾随。)
这应该可以解决问题。我确信这可以通过其他方式打破,但是比我聪明的人可以解决这个问题:)
我在Notepad ++ 6.5.1上进行了测试。
查找内容:
(?<!strip_tags\()(\$_POST\['.*'\])
替换为:
strip_tags\((\1)\)
<强>输入:强>
$_POST['foo']
strip_tags($_POST['baz'])
another_function($_POST['bar'])
<强>输出:强>
strip_tags($_POST['foo'])
strip_tags($_POST['baz'])
another_function(strip_tags($_POST['bar']))
答案 2 :(得分:0)
使用搜索和替换。
搜索(\ $ _ POST \ [&#39;。*&#39; \])并替换为strip_tags(\ 1)