php - htmlentities() 与 htmlspecialchars()

htmlspecialchars()htmlentities() 有什么区别。我应该什么时候使用其中一种?

最佳答案

htmlspecialchars 可以使用:

  1. 当不需要对具有其 HTML 等效项的所有字符进行编码时。

    如果你知道页面编码匹配文本特殊符号,你为什么要使用htmlentitieshtmlspecialchars 非常简单,并且产生更少的代码发送给客户端。

    例如:

    echo htmlentities('<Il était une fois un être>.');
    // Output: &lt;Il &eacute;tait une fois un &ecirc;tre&gt;.
    //                ^^^^^^^^                 ^^^^^^^
    
    echo htmlspecialchars('<Il était une fois un être>.');
    // Output: &lt;Il était une fois un être&gt;.
    //                ^                 ^
    

    第二个更短,如果设置了 ISO-8859-1 字符集,不会造成任何问题。

  2. 当数据将不仅仅通过浏览器进行处理(避免解码 HTML 实体)时,

  3. 如果输出是 XML(参见 the answer by Artefacto)。

https://stackoverflow.com/questions/46483/

相关文章:

php - PHP 中的 HTTP_HOST 和 SERVER_NAME 有什么区别?

php - 如何在 PHP 中执行静态代码分析?

php - 不能在写上下文中使用方法返回值

php - 是否有将 PHP 数组复制到另一个数组的功能?

php - 可以使用 PHP 短标签吗?

php - 新 self 与新静态

php - PHP 中的 NOW() 函数

php - 更改最大上传文件大小

php - 按一个属性对对象数组进行排序

php - 在 PHP 中将整数转换为字符串