注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

记录~~~

Stay Hungry. Stay Foolish.

 
 
 

日志

 
 

htmlspecialchars_decode 与 html_entity_decode  

2014-01-09 18:37:10|  分类: PHP |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
数据库的数据如果存的是实体的话,读取显示的时候就需要用到这两个函数,但是html_entity_decode函数有解析乱码的时候,而且用这个函数的时候还需要指定编码类型。所以就用htmlspecialchars_decode这个好了 。可是这两个有什么区别呢?

html_entity_decode

(PHP 4 >= 4.3.0, PHP 5)

html_entity_decodeConvert all HTML entities to their applicable characters


htmlspecialchars_decode

(PHP 5 >= 5.1.0)

htmlspecialchars_decodeConvert special HTML entities back to characters

 名称 html_entity_decode htmlspecialchars_decode
 定义 Convert all HTML entities to their applicable characters Convert special HTML entities back to characters
 使用版本 (PHP 4 >= 4.3.0, PHP 5) (PHP 5 >= 5.1.0)
 参数  ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = 'UTF-8' ]] )  ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 ] )
   

    ======================================================================================

From the PHP documentation for htmlentities:

This function is identical to htmlspecialchars() in all ways, except with htmlentities(), all characters which have HTML character entity equivalents are translated into these entities.

From the PHP documentation for htmlspecialchars:

Certain characters have special significance in HTML, and should be represented by HTML entities if they are to preserve their meanings. This function returns a string with some of these conversions made; the translations made are those most useful for everyday web programming. If you require all HTML character entities to be translated, use htmlentities() instead.

The difference is what gets encoded. The choices are everything (entities) or "special" characters, like ampersand, double and single quotes, less than, and greater than (specialchars).

I prefer to use htmlspecialchars whenever possible.

结论是,有中文的时候,最好用 htmlspecialchars ,否则可能乱码。

结论:htmlentities 和 htmlspecialchars 的区别在于 htmlentities 会转化所有的 html character entity,而htmlspecialchars 只会转化手册上列出的几个 html character entity (也就是会影响 html 解析的那几个基本字符)。一般来说,使用 htmlspecialchars 转化掉基本字符就已经足够了,没有必要使用 htmlentities。实在要使用 htmlentities 时,要注意为第三个参数传递正确的编码。
  评论这张
 
阅读(3430)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017