php htmlentities()函数的定义和用法

前端技术 2023/09/03 PHP

php htmlentities() 函数把字符转换为 HTML 实体,本文章向码农介绍php htmlentities() 函数基本使用方法和实例介绍,需要的码农可以参考一下。

定义和用法

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

提示:要把 HTML 实体转换回字符,请使用 html_entity_decode() 函数。

提示:请使用 get_html_translation_table() 函数来返回 htmlentities() 使用的翻译表。

语法

htmlentities(string,flags,character-set,double_encode)

参数 描述
string 必需。规定要转换的字符串。
flags

可选。规定如何处理引号、无效的编码以及使用哪种文档类型。

可用的引号类型:

  • ENT_COMPAT - 默认。仅编码双引号。
  • ENT_QUOTES - 编码双引号和单引号。
  • ENT_NOQUOTES - 不编码任何引号。

无效的编码:

  • ENT_IGNORE - 忽略无效的编码,而不是让函数返回一个空的字符串。应尽量避免,因为这可能对安全性有影响。
  • ENT_SUBSTITUTE - 把无效的编码替代成一个指定的带有 Unicode 替代字符 U+FFFD(UTF-8)或者 &#FFFD; 的字符,而不是返回一个空的字符串。
  • ENT_DISALLOWED - 把指定文档类型中的无效代码点替代成 Unicode 替代字符 U+FFFD(UTF-8)或者 &#FFFD;。</li> </ul> <p>规定使用的文档类型的附加 flags:</p> <ul> <li>ENT_HTML401 - 默认。作为 HTML 4.01 处理代码。</li> <li>ENT_HTML5 - 作为 HTML 5 处理代码。</li> <li>ENT_XML1 - 作为 XML 1 处理代码。</li> <li>ENT_XHTML - 作为 XHTML 处理代码。</li> </ul> </td> </tr> <tr> <td>character-set</td> <td> <p>可选。一个规定了要使用的字符集的字符串。</p> <p>允许的值:</p> <ul> <li>UTF-8 - 默认。ASCII 兼容多字节的 8 位 Unicode</li> <li>ISO-8859-1 - 西欧</li> <li>ISO-8859-15 - 西欧(加入欧元符号 + ISO-8859-1 中丢失的法语和芬兰语字母)</li> <li>cp866 - DOS 专用 Cyrillic 字符集</li> <li>cp1251 - Windows 专用 Cyrillic 字符集</li> <li>cp1252 - Windows 专用西欧字符集</li> <li>KOI8-R - 俄语</li> <li>BIG5 - 繁体中文,主要在台湾使用</li> <li>GB2312 - 简体中文,国家标准字符集</li> <li>BIG5-HKSCS - 带香港扩展的 Big5</li> <li>Shift_JIS - 日语</li> <li>EUC-JP - 日语</li> <li>MacRoman - Mac 操作系统使用的字符集</li> </ul> <p>注释:在 PHP 5.4 之前的版本,无法被识别的字符集将被忽略并由 ISO-8859-1 替代。自 PHP 5.4 起,无法被识别的字符集将被忽略并由 UTF-8 替代。</p> </td> </tr> <tr> <td>double_encode</td> <td> <p>可选。布尔值,规定是否编码已存在的 HTML 实体。</p> <ul> <li>TRUE - 默认。将对每个实体进行转换。</li> <li>FALSE - 不会对已存在的 HTML 实体进行编码。</li> </ul> </td> </tr> </tbody> </table> </p> <p>&nbsp;</p> <p>技术细节 <table class=\"dataintable\" border=\"1\"> <tbody> <tr> <td>返回值:</td> <td> <p>返回被转换的字符串。</p> <p>如果&nbsp;string&nbsp;包含无效的编码,则返回一个空的字符串,除非设置了 ENT_IGNORE 或者 ENT_SUBSTITUTE 标志。</p> </td> </tr> <tr> <td>PHP 版本:</td> <td>4+</td> </tr> <tr> <td>更新日志:</td> <td> <p>在 PHP 5 中,<em>character-set</em>&nbsp;参数的默认值改为 UTF-8。</p> <p>在 PHP 5.4 中,新增了:ENT_SUBSTITUTE、ENT_DISALLOWED、ENT_HTML401、ENT_HTML5、ENT_XML1 和 ENT_XHTML。</p> <p>在 PHP 5.3 中,新增了 ENT_IGNORE。</p> <p>在 PHP 5.2.3 中,新增了&nbsp;<em>double_encode</em>&nbsp;参数。</p> <p>在 PHP 4.1 中,新增了&nbsp;<em>character-set</em>&nbsp;参数。</p> </td> </tr> </tbody> </table> </p> <p>&nbsp;<strong>实例例子 1 </strong></p> <p>把字符转换为 HTML 实体:</p> <div class=\"phpstudycode\"> <pre class=\"brush:php;\"> &lt;&#63;php $str = \"Bill & \'Steve\'\"; echo htmlentities($str, ENT_COMPAT); // 只转换双引号 echo \"&lt;br&gt;\"; echo htmlentities($str, ENT_QUOTES); // 转换双引号和单引号 echo \"&lt;br&gt;\"; echo htmlentities($str, ENT_NOQUOTES); // 不转换任何引号 &#63;&gt; </pre> </div> <p>以上代码的 HTML 输出如下(查看源代码):</p> <div class=\"phpstudycode\"> <pre class=\"brush:php;\"> &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;body&gt; Bill & \'Steve\'&lt;br&gt; Bill & \'Tarzan\'&lt;br&gt; Bill & \'Steve\' &lt;/body&gt; &lt;/html&gt; </pre> </div> <p>以上代码的浏览器输出:</p> <div class=\"phpstudycode\"> <pre class=\"brush:php;\"> Bill & \'Steve\' Bill & \'Steve\' Bill & \'Steve\' </pre> </div> <p><strong>例子 2</strong></p> <p>通过使用西欧字符集,把一些字符转换为 HTML 实体:</p> <div class=\"phpstudycode\"> <pre class=\"brush:php;\"> &lt;&#63;php $str = \"My name is &#63;yvind &#63;sane. I\'m Norwegian.\"; echo htmlentities($str, ENT_QUOTES, \"ISO-8859-1\"); // Will only convert double quotes (not single quotes), and uses the character-set Western European &#63;&gt; </pre> </div> <p>以上代码的 HTML 输出如下(查看源代码):</p> <div class=\"phpstudycode\"> <pre class=\"brush:php;\"> &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;body&gt; My name is &Oslash;yvind &Aring;sane. I\'m Norwegian. &lt;/body&gt; &lt;/html&gt; </pre> </div> <p>以上代码的浏览器输出:</p> <p>My name is &#63;yvind &#63;sane. I\'m Norwegian. <br /> </p> <p>以上这篇php htmlentities()函数的定义和用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持phpstudy。</p> </div> </section> <script type=\"text/javascript\"> (function() { var s = \"_\" + Math.random().toString(36).slice(2); document.write(\'<div style=\"\" id=\"\' + s + \'\"></div>\'); (window.slotbydup = window.slotbydup || []).push({ id: \"u4263905\", container: s }); })(); </script> <section class=\"xgwz\"> <b>【热门文章】</b> <ul> <li><a href=\"/b.php/58892.html\">JavaScript对象之深度克隆介绍</a></li><li><a href=\"/b.php/58893.html\">PHP查找与搜索数组元素方法总结</a></li><li><a href=\"/b.php/58894.html\">Android学习小结之Activity保存和恢复状态</a></li><li><a href=\"/b.php/58895.html\">sql 截取域名的问题</a></li><li><a href=\"/b.php/58896.html\">Win7电脑菜单中的图标拖不到桌面怎么办 两种解决方法</a></li><li><a href=\"/b.php/58897.html\">Android应用中使用ViewPager和ViewPager指示器来制作Tab标签</a></li><li><a href=\"/b.php/58898.html\">win7系统安全无损调整分区大小的详细教程</a></li><li><a href=\"/b.php/58899.html\">C语言实现输入一个字符串后打印出该字符串中字符的所有排列</a></li><li><a href=\"/b.php/58900.html\">使用java处理字符串公式运算的方法</a></li><li><a href=\"/b.php/58901.html\">在ASP.NET 2.0中操作数据之六十八:为DataTable添加额外的列</a></li><li><a href=\"/b.php/58902.html\">php显示指定目录下子目录的方法</a></li><li><a href=\"/b.php/58903.html\">基于Android中的 AutoCompleteTextView实现自动填充</a></li><li><a href=\"/b.php/58904.html\">win10怎样设置和使用邮件应用?win10系统邮件应用设置和使用的方法</a></li><li><a href=\"/b.php/58905.html\">mysql 5.7.13 winx64安装配置方法图文教程</a></li><li><a href=\"/b.php/58906.html\">Android中的android:layout_weight使用详解</a></li><li><a href=\"/b.php/58907.html\">JavaScript函数柯里化详解</a></li><li><a href=\"/b.php/58908.html\">Cocos2d-x中实现弹出对话框示例</a></li><li><a href=\"/b.php/58909.html\">NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法</a></li><li><a href=\"/b.php/58910.html\">Discuz7.2版的faq.php SQL注入漏洞分析</a></li><li><a href=\"/b.php/58911.html\">php中 ob_start等函数截取标准输出的方法</a></li><li><a href=\"/b.php/58912.html\">Oracle查看和修改连接数(进程/会话/并发等等)</a></li><li><a href=\"/b.php/58913.html\">CentOS 6.3下使用Gitosis安装搭建Git Server教程</a></li><li><a href=\"/b.php/58914.html\">AngularJS ng-bind-template 指令详解</a></li><li><a href=\"/b.php/58915.html\">如何判断php数组的维度</a></li></ul> </section> <section class=\"xgwz\"> <b>【热门文章】</b> <ul> <li><a href=\"/c.php/8313.html\">offset的使用?</a></li><li><a href=\"/c.php/8314.html\">二叉树插入函数的一个细节,另外翻译一个词组</a></li><li><a href=\"/c.php/8315.html\">使用javapns向苹果apns发送消息成功,手机设备有时收不到推送信息</a></li><li><a href=\"/c.php/8316.html\">Property \'label\' not found on object of type</a></li><li><a href=\"/c.php/8317.html\">数据表之间移动数据一般采用什么方法?</a></li><li><a href=\"/c.php/8318.html\">yii2 这条sql查询语句,查询应该怎么写</a></li><li><a href=\"/c.php/8319.html\">为什么chrome浏览器下载文件的同时发送统计包不成功</a></li><li><a href=\"/c.php/8320.html\">CSS标点换行</a></li><li><a href=\"/c.php/8321.html\">docker 挂在本地文件夹过去, 显示无权限访问?</a></li><li><a href=\"/c.php/8322.html\">angularjs 里面的插值指令的疑惑</a></li><li><a href=\"/c.php/8323.html\">javascript 如何实现类似 PHP 的 __set __get</a></li><li><a href=\"/c.php/8324.html\"> 最近用webpack和react时遇到了一个奇怪的问题</a></li><li><a href=\"/c.php/8325.html\">想利用休息时间开发一款app,请问开发哪一类的比较好玩。</a></li><li><a href=\"/c.php/8326.html\">前端如何获取微信推送信息的主页?</a></li><li><a href=\"/c.php/8327.html\">如何实现长按指纹图片,复制一段文字的效果?</a></li><li><a href=\"/c.php/8328.html\">PHP的防御XSS注入的终极解决方案【信息安全】【Hack】</a></li><li><a href=\"/c.php/8329.html\">javascript中 x = x &gt;&gt; y 怎么作用的</a></li><li><a href=\"/c.php/8330.html\">如何更新Django 的ManyToMany 字段</a></li><li><a href=\"/c.php/8331.html\">tableHeaderview问题</a></li><li><a href=\"/c.php/8332.html\">php调用C语言接口?</a></li></ul> </section> <section class=\"cont pl\" id=\"comment\"><b></b> <div id=\"SOHUCS\" sid=\"art_104965\"></div> </section> <div class=\"search\"> <form action=\"http://zhannei.baidu.com/cse/search\" method=\"get\" target=\"_blank\" class=\"bdcs-search-form\" id=\"bdcs-search-form\"> <input name=\"s\" value=\"12351952642737355179\" type=\"hidden\"> <input name=\"entry\" value=\"1\" type=\"hidden\"> <input name=\"ie\" value=\"gbk\" type=\"hidden\"> <input name=\"nsid\" value=\"1\" type=\"hidden\"> <input type=\"text\" placeholder=\"请输入您感兴趣的关键字\" value=\"\" id=\"search_txt1\" maxlength=\"18\" class=\"search_txt\" name=\"q\"> <input class=\"search_btn\" value=\"搜 索\" type=\"submit\"> </form> </div> <nav class=\"nav-foot\"> <ul> <li><a href=\"/jiaotong/huoche/\">火车</a></li> <li><a href=\"/jiaotong/gaotie/\">高铁</a></li> <li><a href=\"/jiaotong/qiche/\">汽车</a></li> <li><a href=\"/jiaotong/gongjiao/\">公交</a></li> <li><a href=\"/jiaotong/zijia/\">自驾</a></li> <li><a href=\"/jiaotong/licheng/\">里程</a></li> <li> <a href=\"/jiaotong/jingdian/\">景点</a></li> <li><a href=\"/jiaotong/gonglue/\">攻略</a></li> <li><a href=\"/jiaotong/wen/\">问路</a></li> <li><a href=\"/\">计算机</a></li> </ul> <ul> <li><a href=\"/\">首页</a></li> <li><a href=\"/jiaotong/huoche/\">火车</a></li> <li><a href=\"/jiaotong/gaotie/\">高铁</a></li> <li><a href=\"/jiaotong/qiche/\">汽车</a></li> <li><a href=\"/jiaotong/gongjiao/\">公交</a></li> </ul> </nav> <footer class=\"footer-min\"> <div class=\"app\"> <a href=\"javascript:void(0)\" class=\"pc\">电脑版</a> - <a href=\"/\">返回首页</a></div> <div class=\"copyright\">Copyright &copy;2017 <a href=\"/\">交通频道</a> All Rights Reserved</div> </footer> <div class=\"clearfix\"></div> <div class=\"asd\"><span id=\"asd-footer\" class=\"jbTestPos\"><script>gx(4);</script></span></div> <script> var path_url=\"/b.php/90845.html\"; </script> <script type=\"text/javascript\" src=\"/img/jquery-1.10.2.min.js\"></script> <script type=\"text/javascript\" src=\"/img/menuclick.js\"></script> <br> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement(\"script\"); hm.src = \"https://hm.baidu.com/hm.js?4e18701aa680bab2e8eb968e32500cf0\"; var s = document.getElementsByTagName(\"script\")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </div> </body> </html>

本文地址:https://www.stayed.cn/item/7951

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。