猿问

对htmlSpecialchars()

对htmlSpecialchars()

.之间有什么区别?htmlspecialchars()htmlentities()..我应该在什么时候使用其中一种或另一种?



子衿沉夜
浏览 614回答 3
3回答

慕娘9325324

的PHP文档html实体:此函数与htmlspecialchars()在所有方面,除了htmlentities(),所有具有HTML字符实体等效项的字符都被转换为这些实体。的PHP文档htmlSpecialchars:某些字符在HTML中具有特殊的意义,如果要保留它们的含义,就应该用HTML实体来表示。这个函数返回一个字符串,其中一些转换已经完成;所做的翻译对于日常的Web编程来说是最有用的。如果需要翻译所有HTML字符实体,请使用htmlentities()相反。区别在于什么会被编码。选择是所有(实体)或“特殊”字符,如符号,双引号和单引号,小于和大于(特殊字符)。我更喜欢用htmlspecialchars只要有可能。例如:&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;htmlentities('<Il&nbsp;était&nbsp;une&nbsp;fois&nbsp;un&nbsp;être>.'); &nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Output:&nbsp;&lt;Il&nbsp;&eacute;tait&nbsp;une&nbsp;fois&nbsp;un&nbsp;&ecirc;tre&gt;. &nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;^^^^^^^^&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;^^^^^^^ &nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;htmlspecialchars('<Il&nbsp;était&nbsp;une&nbsp;fois&nbsp;un&nbsp;être>.'); &nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Output:&nbsp;&lt;Il&nbsp;était&nbsp;une&nbsp;fois&nbsp;un&nbsp;être&gt;. &nbsp;&nbsp;&nbsp;&nbsp;//

开满天机

htmlspecialchars可用于:当不需要对所有具有其HTML等效项的字符进行编码时。如果您知道页面编码与文本特殊符号匹配,为什么要使用htmlentities?&nbsp;htmlspecialchars非常简单,并且生成更少的代码发送到客户端。例如:echo&nbsp;htmlentities('<Il&nbsp;était&nbsp;une&nbsp;fois&nbsp;un&nbsp;être>.');//&nbsp;Output:&nbsp;&lt;Il&nbsp;&eacute;tait&nbsp;une&nbsp;fois&nbsp;un&nbsp;&ecirc;tre&gt;.//&nbsp; &nbsp;&nbsp;^^^^^^^echo&nbsp;htmlspecialchars('<Il&nbsp;était&nbsp;une&nbsp;fois&nbsp;un&nbsp;être>.');//&nbsp;Output:&nbsp;&lt;Il&nbsp;était&nbsp;une&nbsp;fois&nbsp;un&nbsp;être&gt;.//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;^&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;^第二个字符比较短,如果设置了ISO8859-1字符集,不会造成任何问题.当数据不仅通过浏览器进行处理时(为了避免解码HTML实体),如果输出为xml(请参见事实的答案).

汪汪一只猫

因为:有时,您正在编写XML数据,并且不能在XML文件中使用HTML实体。因为htmlentities替换更多的字符htmlspecialchars..这是不必要的,会降低PHP脚本的效率,从而降低HTML代码的可读性。htmlentities只有当页面使用编码(如ASCII或拉丁文-1)而不是UTF-8,并且处理与页面的编码不同的数据时,才是必要的。
随时随地看视频慕课网APP
我要回答