【原创】 HTML转义和反转义
栏目:PHP  作者:隆航  阅读:(2181)

在TP的使用过程中,I函数是默认的把HTML的值转义成字符,例如 < 转义成 &lt; 然后如果这样存入数据库的话会发现读取的时候存 

<p>Hello world</p>

blob.png

结果存入是 

&lt;p&rt;Hello world&lt;/p&rt;

blob.png

读取出来的是

<p>Hello world</p>

blob.png

这样的话就导致文章读取和存入失败,其实在之前的时候我就碰到过这个问题,当时处理得方式是from表单提交然后$_POST[]来获取,这样的话是没问题的。

现在的问题是我需要用到TP的自动完成,所以这里的话,我想到的是,你转义过,然后我用函数给你反转义,这样就可以达到需要的目的了。

然后再网上百度 php html反转义

(PHP 5 >= 5.1.0)

htmlspecialchars_decode — 将特殊的 HTML 实体转换回普通字符

对应的有php html转义

(PHP 4, PHP 5)

htmlspecialchars — Convert special characters to HTML entities

'&' (ampersand) becomes '&amp;'

'"' (double quote) becomes '&quot;' when ENT_NOQUOTES is not set.

"'" (single quote) becomes '&#039;' (or &apos;) only when ENT_QUOTES is set.

'<' (less than) becomes '&lt;'

'>' (greater than) becomes '&gt;'

所以在自动完成的时候添加上着函数就可以了。

array('s_content','htmlspecialchars_decode',self::MODEL_BOTH,'function'),

blob.png



安安博客
#103

   安安博客     2015-10-22 09:53    Win 7      广东省深圳市

来学习了

隆航

   隆航     10-22 09:55    回复 @安安博客 中说到:

谢谢来访~

PHP博客
#102

   PHP博客     2015-10-21 23:18    Win 7      海南省海口市

我现在只用thinkphp3.2,好像双重转换了。

隆航

   隆航     10-22 09:43    回复 @PHP博客 中说到:

TP的自动完成的数据默认是I接受的,然后不转义的话HTML富文本编辑器的都被转义了,所以需要再转义回来。

昵称
邮箱
域名
  记住 通知博主
验证码

  程序相关

站点版本:青春博客-V 2.1.0

开源版本:青春博客-Beta v2.0

 下载  在线支付  在线工具  在线音乐

  随机文章