html 实体字符转义,php针对html实体字符串转义函数:htmlspecialchars,htmlspecialchars_decode...

摘要

php中html实体转义解码函数:1:htmlentities,html_entity_decode;2:htmlspecialchars,htmlspecialchars_decode;很多PHP开发的人员只知道后者,却不知道前者;前者是转义所有字符为html实体;后者只转义所规定的几种普通字符为html实体;

htmlspecialchars

htmlspecialchars —  将普通字符转换成HTML实体

说明

string htmlspecialchars ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get("default_charset") [, bool $double_encode = true ]]] )

只转义以下五种字符:

1. '&' => '&'

2. '"' =>  '"'

3. "'" => ''' (or ')

4. ' '<'

5. '>' => '>'

htmlspecialchars_decode

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

说明

string htmlspecialchars_decode ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 ] )

此函数的作用和 htmlspecialchars() 刚好相反。它将特殊的HTML实体转换回普通字符。

被转换的实体有: &, " (没有设置 ENT_NOQUOTES 时), ' (设置了 ENT_QUOTES 时), < 以及>。

b8409414013245017c78dd1d7628af22.png

htmlentities

htmlentities — 将所有普通字符转换成HTML实体

说明

string htmlentities ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get("default_charset") [, bool $double_encode = true ]]] )

此函数是全部转换html实体,和htmlspecialchars()区别在于,这个函数是转义全部的字符,而htmlspecialchars()仅仅转义上面限定的5个特殊字符!

如果想要解码,需要用html_entity_decode() 函数;把 HTML 实体转换为字符。

html_entity_decode

html_entity_decode — 将所有的 HTML 实体转换回普通字符

说明

string html_entity_decode ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = ini_get("default_charset") ]] )

$str="付杰博客";

echo htmlentities($str);

echo '
';

echo htmlspecialchars($str);

echo '
';

echo htmlspecialchars_decode($str);

echo '
';

echo html_entity_decode($str);

由于博主没有用数据库来存取,直接是用的网页来查看的,因此转义的地方看不出来,如果你是把存取数据库的话,你就不能按照以上代码来用,存的时候用htmlspecialchars或htmlentities;取出来的时候可以根据自身的情况来看是否解码;如果要解码就用htmlspecialchars_decod或html_entity_decode;

重要提示:

htmlspecialchars()和 htmlspecialchars_decode()配合使用;

htmlentities()和 html_entity_decode()配合使用;

常用特殊字符列表:

特殊字符

说明

对应字符实体

<

小于号

<

>

大于号

>

空格

&

和号

&

"

双引号

"

'

撇号

'

©

版权

©

®

注册商标

®

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值