Heim  >  Artikel  >  php教程  >  php中htmlspecialchars,htmlentities用法

php中htmlspecialchars,htmlentities用法

WBOY
WBOYOriginal
2016-06-13 11:19:33952Durchsuche

在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未指定编码:²âÊÔÒ³Ãæ

测试页面


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn