htmlspecialchars()与htmlspecialchars()之比较

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

htmlspecialchars可用于:

  1. 当不需要对所有具有HTML等价物的字符进行编码时

    如果您知道页面编码与文本特殊符号匹配,为什么要使用htmlentitieshtmlspecialchars非常简单,可以生成较少的代码发送给客户端

    例如:

    echo htmlentities('Ilétait une fois unêtre>');
    //输出:&书信电报;Il&伊库特;(二);ecirc;tre>。
    //                ^^^^^^^^                 ^^^^^^^
    回音htmlspecialchars('Ilétait une fois unêtre>');
    //输出:&书信电报;这是我的梦想;gt;。
    //                ^                 ^
    

    第二个较短,如果设置了ISO-8859-1字符集,则不会导致任何问题

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

  3. 如果输出是XML(请参阅Artefactor的答案)

发表评论