php htmlentities将预定义的字符转化为html实体,也就是让浏览器输出html代码,而不是输出浏览器解析后的html,比如说在表单时候,我们想让表单中输入html代码原样显示在浏览器上,这个时候就需要使用htmlentities函数了。

下面来看一个实例:

<?php
    $str = \'<a href=\"http://www.manongjc.com\">码农教程</a>\';
    echo htmlentities($str);
?>

在浏览器上输出结果如下

<a href=\"http://www.manongjc.com\">ç �å��æ��ç¨�</a>

查看源码如下:

&lt;a href=&quot;www.phpddt.com&quot;&gt;&ccedil;‚&sup1;&ccedil;‚&sup1;&eacute;€š&lt;/a&gt;

从源码可以看出,htmlentities已将预定义的字符转化为html实体,小于号转换为&lt; 大于号转换为&gt; 双引号转化为&quot;

但是中文出现乱码了,这是因为我们没有对htmlentities函数指定编码,下面方法将不会出现中文乱码

<?php
echo htmlentities($str, ENT_COMPAT , \"UTF-8\");
?>

如果有中文,一般设置为UTF-8编码即可。

 

更多讲解请看:

php htmlentities函数讲解及使用实例

php htmlentities() 函数把字符转换为 HTML 实体

收藏 打印