鱼C论坛

 找回密码
 立即注册
查看: 3727|回复: 0

[PHP API档案] html_entity_decode && htmlspecialchars_decode

[复制链接]
发表于 2014-9-14 15:12:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
转换HTML字符编码为字符

函数原型:
string html_entity_decode           ( string $string  [, int $flags  = ENT_COMPAT | ENT_HTML401  [, string $encoding  = ini_get("default_charset")  ]] )
string htmlspecialchars_decode  ( string $string  [, int $flags  = ENT_COMPAT | ENT_HTML401  ] )


函数功能:
html_entity_decode          :转换所有HTML字符编码为字符
htmlspecialchars_decode :转换特殊HTML字符编码为字符

函数参数:

参数 含义
$string需要转换的HTML字符编码
$flags转换模式 (默认:ENT_COMPAT | ENT_HTML401)
ENT_COMPAT     :对双引号进行编码,不对单引号进行编码
ENT_QUOTES      :单引号和双引号都进行编码
ENT_NOQUOTES:不对单引号和双引号进行编码
$encoding
[html_entity_decode参数]
默认编码 UTF8 (php>5.4)
ISO-8895-1      西欧,Latin-1
GB2312 (936)   简体中文,中国国家标准字符集。
UTF8                 与ASCII 兼容的多字节 8 位 Unicode(多语言项目常用)
BIG5 (950)        繁体中文,主要用于中国台湾省。 (喜欢称他:大5码)


函数实例:
<?php
//演示一个连接到鱼C论坛的html代码
$fishc_href = "<a href='http://bbs.fishc.com/'>链接到鱼C论坛首页</a>";

echo "htmlentities:<br />";

$ret_default = htmlentities($fishc_href);
echo "<xmp>实际代码:" . $ret_default . "</xmp>";
echo "网页显示:" . $ret_default . "<br />";

echo "html_entity_decode:<br />";
$ret_decode = html_entity_decode($ret_default);
echo "<xmp>实际代码:" . $ret_decode . "</xmp>";
echo "网页显示:" . $ret_decode . "<br />";

if($fishc_href == $ret_decode){
    echo "转换成功";
}
?>

进阶:
<?php
//思考下
/**
 * 1. html_entity_decode 与 htmlentities 为什么名称没有像 htmlspecialchars_decode 和 htmlspecialchars 感觉更像一对。
 * 2. htmlspecialchars_decode 为什么不需要编码参数呢???
 */

/**
 * 1. html_entity_decode 与 htmlentities,这就是传说中的,变量命名方式不统一,坑爹啊
 * 2. htmlspecialchars_decode 因为只需要转换特殊的HTML编码,所以不需要编码参数
 */

?>

函数注意:

1. 不支持gbk编码,用的时候,一定要注意。

2. htmlspecialchars_decode 中,php 预定义HTML编码:
&    成为   和号    (&)
"     成为  双引号 (")
'     成为  单引号 (' )  
<    成为  小于    (<)
>    成为  大于    (>)

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 23:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表