html实体转化字符串 php_php htmlspecialchars()函数将特殊字符转换为HTML实体

htmlspecialchars()函数定义及用法

在php中,htmlspecialchars()函数是使用来把一些预定义的字符转换为HTML实体,返回转换后的新字符串,原字符串不变。如果 string 包含无效的编码,则返回一个空的字符串,除非设置了 ENT_IGNORE 或者 ENT_SUBSTITUTE 标志;

被转换的预定义的字符有:

&:转换为&":转换为"':转换为成为 ':转换为>htmlspecialchars()函数有四个参数,第一个参数规定了需要转换的字符串;第二个参数规定了如何处理引号、无效的编码以及使用哪种文档类型,是可选参数;第三个参数也是可选参数,规定了要使用的字符集的字符串;第四个参数也是可选参数,规定了是否编码已存在的 HTML 实体的布尔值(TRUE:将对每个实体进行转换;FALSE:不会对已存在的HTML实体进行编码);

htmlspecialchars()函数语法格式:

$str = htmlspecialchars(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;。规定使用的文档类型的附加 flags:

ENT_HTML401 - 默认。作为 HTML 4.01 处理代码。ENT_HTML5:作为 HTML 5 处理代码。ENT_XML1:作为 XML 1 处理代码。ENT_XHTML: 作为 XHTML 处理代码。character-set :可选。一个规定了要使用的字符集的字符串。允许的值:

UTF-8:默认。ASCII 兼容多字节的 8 位 UnicodeISO-8859-1:西欧ISO-8859-15:西欧(加入欧元符号 + ISO-8859-1 中丢失的法语和芬兰语字母)cp866:DOS 专用 Cyrillic 字符集cp1251:Windows 专用 Cyrillic 字符集cp1252: Windows 专用西欧字符集KOI8-R: 俄语BIG5 :繁体中文,主要在台湾使用GB2312: 简体中文,国家标准字符集BIG5-HKSCS:带香港扩展的 Big5Shift_JIS:日语EUC-JP:日语MacRoman:Mac 操作系统使用的字符集注释:在 PHP 5.4 之前的版本,无法被识别的字符集将被忽略并由 ISO-8859-1 替代。自 PHP 5.4 起,无法被识别的字符集将被忽略并由 UTF-8 替代。

double_encode:可选参数,一个规定了是否编码已存在的 HTML 实体的布尔值(TRUE:默认,将对每个实体进行转换;FALSE:不会对已存在的 HTML 实体进行编码);更新日志:

在 PHP 5 中,character-set 参数的默认值改为 UTF-8。在 PHP 5.4 中,新增了:ENT_SUBSTITUTE、ENT_DISALLOWED、ENT_HTML401、ENT_HTML5、ENT_XML1 和 ENT_XHTML。在 PHP 5.3 中,新增了 ENT_IGNORE。在 PHP 5.2.3 中,新增了 double_encode 参数。在 PHP 4.1 中,新增了 character-set 参数。实例:

header("content-type:text/html;charset=utf-8");//设置编码,解决中文乱码

$string = "ggbiji & 'ggbiji'";

$string1 = htmlspecialchars($string, ENT_COMPAT); // 默认,仅编码双引号

$string2 = htmlspecialchars($string, ENT_QUOTES); // 编码双引号和单引号

$string3 = htmlspecialchars($string, ENT_NOQUOTES); // 不编码任何引号

echo $string1."
\n";

echo $string2."
\n";

echo $string3."
\n";

?>

运行结果:

htmlspecialchars()函数图1

HTML输出如下(查看源代码):

htmlspecialchars()函数图12

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值