php中htmlspecialchars,htmlentities用法
程序员文章站
2023-12-28 15:12:52
...
在php中htmlspecialchars, 将特殊字元转成 HTML 格式,而htmlentities,将所有的字元都转成 HTML 字串 了,下面我来分别简单的介绍。
$str = "John & 'Adams'";
echo htmlentities($str, ENT_COMPAT);
echo "
";
echo htmlentities($str, ENT_QUOTES);
echo "
";
echo htmlentities($str, ENT_NOQUOTES);
?>
$str = "John & 'Adams'";
echo htmlspecialchars($str, ENT_COMPAT);
echo "
";
echo htmlspecialchars($str, ENT_QUOTES);
echo "
";
echo htmlspecialchars($str, ENT_NOQUOTES);
?>
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未指定编码:²âÊÔÒ³Ãæ 测试页面 |
推荐阅读
-
php面向对象中__set __get __isset __unset用法介绍_PHP教程
-
php中session_unset与session_destroy的用法与区别
-
php中smarty模板条件判断用法实例_php实例
-
详解PHP中cookie和session的区别及cookie和session用法小结,cookiesession
-
PHP中SimpleXML函数用法分析,phpsimplexml_PHP教程
-
php中get_magic_quotes_gpc用法介绍
-
PHP中try{}catch{}的具体用法详解
-
php中双冒号的用法是什么
-
php中位运算的用法介绍
-
php中session与thinkphp中session的一些用法