PHP中htmlentities()和htmlspecialchars()函数的区别

青灯夜游
发布: 2023-04-05 14:06:02
原创
3797 人浏览过

在PHP中htmlentities()和htmlspecialchars()函数都可以将字符转换为HTML字符编码,那么它们之间有什么不同之处?下面本篇文章就来简单比较一下htmlentities()和htmlspecialchars()函数,让大家了解它们的区别是什么,希望对大家有所帮助。

PHP中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 
$str = &#39;&lt;a href=&quot;demo.php?m=index&amp;a=index&amp;name=中文&quot;&gt;测试页面&lt;/a&gt;&#39;;  
// 转换HTML实体并输出
echo htmlentities($str); 
?>
登录后复制

输出:

&lt;a href=&quot;demo.php?m=index&amp;a=index&amp;name=中文&quot;&gt;测试页面&lt;/a&gt;
登录后复制

PHP htmlspecialchars()函数

htmlspecialchars()函数是PHP中的一个内置函数,用于将所有预定义字符转换为HTML实体。

基本句式:

string htmlspecialchars( $string, $flags, $encoding, $double_encode )

参数说明:可以接受以下4个参数

$string:用于保存输入字符串。

$flags:用于保存标志;它是一个或两个标志的组合,它告诉如何处理引号。

$encoding:定转换字符时使用的编码。如果没有给出编码,则根据PHP默认版本进行转换;可省略。

$double_encode:如果关闭double_encode,PHP将不会编码现有的HTML实体。默认是转换所有内容。

返回值:htmlspecialchars()函数返回转换后的字符串;如果输入字符串无效,则返回空字符串。

例:

<?php 
$str = &#39;php中文网的网址为:&quot;www.php.cn&quot;&#39;; 
// 转换HTML实体并输出
echo htmlspecialchars($str); 
?>
登录后复制

输出:

php中文网的网址为:&quot;www.php.cn&quot;
登录后复制

htmlentities()和htmlspecialchars()函数的区别

htmlentities()函数可以将所有适用的字符转换为HTML实体;如果不指定编码的话遇到中文会乱码。

htmlspecialchars()函数只能将特殊字符(& 、’、 “、 <、> )转换为HTML实体。

1551752027308297.jpg

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!

以上是PHP中htmlentities()和htmlspecialchars()函数的区别的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!