• 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'
    
  • 相关阅读:
    javaee_正则表达式基础和常用表达式
    hello2源代码分析
    servlet_filterj简介
    hello1的web.xml解析
    Annotation
    注入(Injection)
    容器(Container)
    Building Tool(Maven/Gradle)
    JavaWeb的历史与发展趋势
    Build Tools
  • 原文地址:https://www.cnblogs.com/donaldworld/p/6498483.html
Copyright © 2020-2023  润新知