Notepad ++ - 替换所有尚未包含strip_tags()的$ _POST元素

时间:2014-05-12 09:17:16

标签: php search replace notepad++

用strip_tags替换所有单个PHP $ _POST ['diffentOnEachPage']元素是否有任何可能性($ _ POST ['diffentOnEachPage'])

我的$ _POST元素中约有50%已包含strip_tags(),但有些则不包含。

在没有找到每一个并单独添加strip_tags()的情况下,最好的方法是什么? - 理想情况下使用Notepad ++

3 个答案:

答案 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)