2012-05-06 41 views
2

我想修改我的编码样式,并且已经习惯使用filter_var($input,FILTER_SANITIZE_FULL_SPECIAL_CHARS)。我已经习惯了使用其他filter_var选项,没有任何困难。php 5.2 - FILTER_SANITIZE_FULL_SPECIAL_CHARS

但在这个特定情况下,FILTER_SANITIZE_FULL_SPECIAL_CHARS只能在我的托管服务提供商使用的较新版本的PHP中使用。我们仍然在PHP 5.2.17上。我的问题是,如何以与使用filter_var函数相同的可靠性完成同样的任务?

回答

3

从我所知的最好的,我能想出的唯一解决方案如下。如果仍然无法确定它的功能相同或没有,但我的测试表明,它的工作大同小异....

filter_var($input, FILTER_SANITIZE_STRING,FILTER_FLAG_ENCODE_AMP|FILTER_FLAG_ENCODE_HIGH|FILTER_FLAG_ENCODE_LOW); 

注: 当使用一个以上的filter_var标志,每一个分开国旗后第一个用管道而不是逗号,或filter_vars休息....花了一段时间来找出一个! :)

+0

对,这是一个按位“或”! –

+0

根据文档,FILTER_SANITIZE_FULL_SPECIAL_CHARS是“相当于调用htmlspecialchars()与ENT_QUOTES设置” - 你尝试过吗? – ldg