• php中htmlspecialchars,htmlentities用法


     

    [导读] 在php中htmlspecialchars, 将特殊字元转成 HTML 格式,而htmlentities,将所有的字元都转成 HTML 字串 了,下面我来分别简单的介绍。 htmlentities用法 代码如下复制代码

    在php中htmlspecialchars, 将特殊字元转成 HTML 格式,而htmlentities,将所有的字元都转成 HTML 字串 了,下面我来分别简单的介绍。
     

    htmlentities用法



    $str = "John & 'Adams'";
    echo htmlentities($str, ENT_COMPAT);
    echo "
    ";
    echo htmlentities($str, ENT_QUOTES);
    echo "
    ";
    echo htmlentities($str, ENT_NOQUOTES);
    ?>

    John & 'Adams'
    John & 'Adams'
    John & 'Adams'

    浏览器输出:
     代码如下 复制代码

    htmlspecialchars用法

    & (和) 转成 &
    " (双引号) 转成 "
    < (小于) 转成 <
    > (大于) 转成 >



    $str = "John & 'Adams'";
    echo htmlspecialchars($str, ENT_COMPAT);
    echo "
    ";
    echo htmlspecialchars($str, ENT_QUOTES);
    echo "
    ";
    echo htmlspecialchars($str, ENT_NOQUOTES);
    ?>

     代码如下 复制代码

    他们的区别

    这两个函数的功能都是转换字符为HTML字符编码,特别是url和代码字符串。防止字符标记被浏览器执行。使用中文时没什么区别,但htmlentities会格式化中文字符使得中文输入是乱码

    htmlentities转换所有的html标记,htmlspecialchars只格式化& ' " < 和 > 这几个特殊符号

     代码如下 复制代码

    $str = '测试页面';

    echo 'htmlentities指定GB2312编码:'.htmlentities($str,ENT_COMPAT,"GB2312").'';

    echo 'htmlentities未指定编码:'.htmlentities($str).'';

    $str = '测试页面';

    echo htmlspecialchars($str).'';

    效果:

     代码如下 复制代码

    htmlentities指定GB2312编码:测试页面

    htmlentities未指定编码:²âÊÔÒ³Ãæ

    测试页面

  • 相关阅读:
    [HEOI2013]Eden 的新背包问题
    [UOJ#77]A+B Problem
    [CodeForces]786B Legacy
    [LUOGU]P4098[HEOI2013]ALO
    [BZOJ3207]花神的嘲讽计划
    [LUOGU]P2633 Count on a tree
    【东莞市选2007】拦截导弹
    [JZOJ] 3462. 【NOIP2013模拟联考5】休息(rest)
    [BZOJ] 2705: [SDOI2012]Longge的问题
    [BZOJ] 1191: [HNOI2006]超级英雄Hero
  • 原文地址:https://www.cnblogs.com/lemon66/p/4224894.html
Copyright © 2020-2023  润新知