PHP htmlentities和htmlspecialchars的区别
在PHP中htmlentities()和htmlspecialchars()函数都可以将字符转换为HTML字符编码,那么它们之间有什么不同之处?下面本篇文章就来简单比较一下htmlentities()和htmlspecialchars()函数,让大家了解它们的区别是什么,希望对大家有所帮助。
PHP htmlentities()函数
htmlentities()函数是PHP中的一个内置函数,用于转换适用于HTML实体的所有字符,然后返回已编码的字符串。【视频教程推荐:PHP教程】
注:htmlentities()函数转换适用于HTML实体的所有字符中。
基本句式:
string htmlentities( $string, $flags, $encoding, $double_encode )
参数说明:可以接受以下4个参数
$string:用于保存输入的字符串
$flags:用于保存标志;它是一个或两个标志的组合,它告诉如何处理引号。
$encoding:用于指定转换字符时使用的编码;如果没有给出编码,则根据PHP默认版本进行转换。该参数可以省略。
$double_encode:如果关闭double_encode,PHP将不会编码现有的HTML实体。默认是转换所有内容。
返回值:htmlentities()函数会将已编码的字符串返回。
示例:
<?php $tt = htmlentities("<!DOCTYPE html> <html> <head> <title>标题01</title> </head> <body> </body> </html> "); echo $tt; ?>
输出:
<!DOCTYPE html>
<html>
<head>
<title>标题01</title>
</head>
<body>
</body>
</html>
页面显示成字符串:
PHP htmlspecialchars()函数
htmlspecialchars()函数是PHP中的一个内置函数,用于将所有预定义字符转换为HTML实体。
基本句式:
string htmlspecialchars( $string, $flags, $encoding, $double_encode )
参数说明:可以接受以下4个参数
$string:用于保存输入字符串。
$flags:用于保存标志;它是一个或两个标志的组合,它告诉如何处理引号。
$encoding:定转换字符时使用的编码。如果没有给出编码,则根据PHP默认版本进行转换;可省略。
$double_encode:如果关闭double_encode,PHP将不会编码现有的HTML实体。默认是转换所有内容。
返回值:htmlspecialchars()函数返回转换后的字符串;如果输入字符串无效,则返回空字符串。
示例02:
<?php $tt = htmlspecialchars("<!DOCTYPE html> <html> <head> <title>标题01</title> </head> <body> </body> </html> "); echo $tt; ?>
输出:
<!DOCTYPE html>
<html>
<head>
<title>标题01</title>
</head>
<body>
</body>
</html>
好像是看不出什么区别,那我做一下总结>
htmlentities()和htmlspecialchars()函数的区别
htmlentities()函数可以将所有适用的字符转换为HTML实体;如果不指定编码的话遇到中文会乱码。
htmlspecialchars()函数只能将特殊字符(& 、’、 “、 <、> )转换为HTML实体。
原文链接:https://www.qiquanji.com/post/8528.html
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。