zoukankan      html  css  js  c++  java
  • htmlspecialchars()和htmlspecialchars_decode()

    htmlspecialchars_decode() 函数是 htmlspecialchars() 函数的反函数。

    htmlspecialchars() 可以拿来防止XSS;可参考:https://www.zhihu.com/question/27646993

    htmlspecialchars_decode() 函数

    更多实例

    例子 1

    把预定义的 HTML 实体转换为字符:

    <?php
    $str = "Bill & 'Steve'";
    echo htmlspecialchars_decode($str, ENT_COMPAT); // 只转换双引号
    echo "<br>";
    echo htmlspecialchars_decode($str, ENT_QUOTES); // 转换双引号和单引号
    echo "<br>";
    echo htmlspecialchars_decode($str, ENT_NOQUOTES); // 不转换任何引号
    ?>
    

    以上代码的 HTML 输出如下(查看源代码):

    <!DOCTYPE html>
    <html>
    <body>
    Bill & &#039;Steve&#039;<br>
    Bill & 'Steve'<br>
    Bill & &#039;Steve&#039;
    </body>
    </html>
    

    以上代码的浏览器输出:

    Bill & 'Steve'
    Bill & 'Steve'
    Bill & 'Steve'
    

    例子 2

    把预定义 HTML 实体转换为双引号:

    <?php
    $str = 'I love "PHP".';
    echo htmlspecialchars_decode($str, ENT_QUOTES); // 转换双引号和单引号
    ?>
    

    以上代码的 HTML 输出如下(查看源代码):

    <!DOCTYPE html>
    <html>
    <body>
    I love "PHP".
    </body>
    </html>
    

    以上代码的浏览器输出:

    I love "PHP".


    htmlspecialchars() 函数:

    更多实例

    例子 1

    把一些预定义的字符转换为 HTML 实体:

    <?php
    $str = "Bill & 'Steve'";
    echo htmlspecialchars($str, ENT_COMPAT); // 只转换双引号
    echo "<br>";
    echo htmlspecialchars($str, ENT_QUOTES); // 转换双引号和单引号
    echo "<br>";
    echo htmlspecialchars($str, ENT_NOQUOTES); // 不转换任何引号
    ?>
    

    以上代码的 HTML 输出如下(查看源代码):

    <!DOCTYPE html>
    <html>
    <body>
    Bill &amp; 'Steve'<br>
    Bill &amp; &#039;Steve&#039;<br>
    Bill &amp; 'Steve'
    </body>
    </html>
    

    以上代码的浏览器输出:

    Bill & 'Steve'
    Bill & 'Steve'
    Bill & 'Steve'
    
  • 相关阅读:
    Web 性能优化
    js 校验身份证
    html5 输入框响应enter按键
    获取浏览器的可视窗口宽高
    js打开新标签
    Java数据脱敏框架
    Spring Boot中的事务管理
    运维监控知识体系
    git常用命令图解 & 常见错误
    安全团队不可错过的七个云安全开源工具(转载)
  • 原文地址:https://www.cnblogs.com/donaldworld/p/6498483.html
Copyright © 2011-2022 走看看