php - 用 PHP 反转 FILTER_SANITIZE_SPECIAL_CHARS

标签 php filter

这是一个简单的问题,但我是新手所以请原谅我的简单问题。

是否有一种简单的方法可以逆转 FILTER_SANITIZE_SPECIAL_CHARS 过滤器的影响?如果不是,你将如何扭转它。请不要只说正则表达式,实际上建议如何。需要明确的是,我不想反转字符串。

下面是一些示例代码来帮助解释我想做什么:

/*** a string with tags ***/
$string = "<li><script>!@#$%^&*\n\'#foo</script><br><p /><li />";

/*** sanitize the string ***/
$x = filter_var($string, FILTER_SANITIZE_SPECIAL_CHARS);
echo $x . "<br>\n";

/*** I want this to output <li><script>!@#$%^&*\n\'#foo</script><br><p /><li /> ***/
echo htmlspecialchars_decode($x);
/*** instead it outputs: &#60;li&#62;&#60;script&#62;!@#$%^&#38;*&#10;\&#39;#foo&#60;/script&#62;&#60;br&#62;&#60;p /&#62;&#60;li /&#62; ***/

所有想法将不胜感激。提前致谢。

最佳答案

考虑 html_entity_decode() ,一个更全面的 htmlspecialchars_decode() 版本。

关于php - 用 PHP 反转 FILTER_SANITIZE_SPECIAL_CHARS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10670790/

相关文章:

php - 选项从数据库获取数据

google-app-engine - 按 "key"字段过滤 Objectify 查询

ios - 如何根据电话号码过滤 quickblox 用户?

php - preg_match html代码 <request></request>

php - 位于 __ 的服务器 _ip_ 需要用户名和密码

php - Symfony 2 : Doctrine Cache Namespace

php - 如何禁用 Yii 2 中 activeform 的客户端验证消息?

java - 基于另一个 `List` 过滤 `List`

asp.net-mvc-3 - Ninject 自定义 AuthorizeAttribute 注入(inject)不起作用

linux - 最好的 linux 文件系统过滤器选项?