php - htmlentities() 与 htmlspecialchars()

标签 php

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)。

关于php - htmlentities() 与 htmlspecialchars(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46483/

相关文章:

php - 无法通过 POST 方法将 <SCRIPT> 标记存储到数据库中

javascript - AJAX - 提交多个 POST 数据

php - 如何为我的网站应用程序编写 MySQL DB 单连接字符串

php - 访问 JSON 对象的值

php - 使用 PHP 遍历 SVG 元素

javascript - 使用 PDO 求两个不同表中两个值的总和

php - MySQL:如何从表中获取具有指定值的某些列?

php - 加载 javascript 和 php 脚本时无法显示加载图像

php - IE 中元素为空值

php - Paypal 结帐 php : how to securise a cart?