一尘不染

htmlentities()与htmlspecialchars()

php

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


阅读 302

收藏
2020-05-26

共1个答案

一尘不染

从PHP文档获取htmlentities

此函数htmlspecialchars()在所有方面都相同,除了之外htmlentities(),所有具有HTML字符实体等效项的字符都被翻译成这些实体。

从PHP文档获取htmlspecialchars

某些字符在HTML中具有特殊意义,如果要保留其含义,则应由HTML实体表示。该函数返回一个字符串,其中包含一些转换。所做的翻译对于日常Web编程最有用。如果您需要翻译所有HTML字符实体,请htmlentities()改用。

区别在于所编码的是什么。选择是所有(实体)或“特殊”字符,例如“与”号,双引号和单引号,小于和大于(特殊字符)。

我喜欢尽可能使用htmlspecialchars

例如:

    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;.
    //                ^                 ^
2020-05-26