在htmlentities中,如何选择性地对符号进行编码,以便它不编码标签的<
和>
,但是编码是&
?PHP htmlentities
回答
尝试这样:
$string = htmlentities($string);
$string = str_replace(array('<','>'), array('<', '>'), $string);
在官方文档,htmlentities和str_replace
err ...在第二个例子中,你忘记了一个参数 – thejh 2010-11-05 21:05:00
哇,那不得不被编辑..谢谢。 – 2010-11-05 21:16:41
@Col它看起来像原来的帖子想要使用htmlentities编码除< and > – 2010-11-05 21:17:47
你没有得到一个“部分编码”选项;如果您想要转义或不转义特定字符,您将不得不手动完成。例如做你说什么你想:
str_replace('>', '>', str_replace('<', '<', htmlentities($s)))
什么是你想要做的,尽管它?以上看起来不太可能有用。标记中的"
字符仍然会被转义,从而损坏属性值。
htmlentities
也普遍存在问题,因为除非您专门为它提供正确的字符集参数,否则它会将字符串中的任何非ASCII字符压入错误的HTML实体引用。通常使用htmlspecialchars()
会更好,它只影响真正特殊且需要在HTML中转义的少数字符。
如果你想要做的就是跳过&
这个字符,你可以用一个简单的str_replace('&', '&', $s)
来做到这一点,但是它仍然会取代作为有效实体或字符引用一部分的&符号。你确定要这么做吗?你只是想修复不正确使用的非转义符号吗?如果是这样,你可以尝试一个正则表达式来选择任何使用不是有效的实体/字符引用的&
。
- 1. php htmlentities corrupt string
- 2. php htmlentities解码textarea
- 3. php htmlentities($ str)与jQuery?
- 4. PHP htmlentities不工作
- 5. 特定元素的PHP HTMLEntities
- 6. PHP htmlentities报价问题
- 7. PHP&mySQL:何时使用htmlentities?
- 8. php编码问题htmlentities
- 9. 如何使用PHP htmlentities()?
- 10. htmlentities mysql_real_escape_string
- 11. JSON htmlentities javascript
- 12. 用HTMLENTITIES转义
- 13. jQuery - JavaScript等价于PHP的htmlentities()函数
- 14. PHP的htmlentities函数不编码★星号
- 15. <?php echo htmlentities($ _ SERVER ['PHP_SELF']); ?>以
- 16. 在PHP中解码文件的htmlentities
- 17. Htmlentities vs addslashes vs mysqli_real_escape_string
- 18. HtmlEntities和Zend TextArea
- 19. strip_tags和htmlentities
- 20. htmlentities()与htmlspecialchars()
- 21. htmlentities和é(e急)
- 22. htmlentities变量不起作用
- 23. HTML左双引号,htmlentities
- 24. 如何要用htmlentities显示
- 25. 前置&符合到htmlentities
- 26. DOMDocument:loadHTML()正在转换htmlentities
- 27. javascript display htmlentities标记
- 28. Youtube iframe解码为htmlentities
- 29. htmlspecialchars + htmlentities不起作用
- 30. 更改mysql中的htmlentities
你在说“。:;,!?”吗?如果是这样,你为什么要编码他们?或者你在谈论引号? – thejh 2010-11-05 20:57:18
1.永不使用htmlentities。 2.不要编码'<' and '>','''和引号旁边的任何内容。 – 2010-11-05 20:59:59
这个问题的正确解决方案很可能是“忘记编码实体,并确保您声明您使用的字符编码”:http://www.w3.org/International/O-charset – Quentin 2010-11-05 21:00:13