PHP中的htmlspecialchars()函数
该htmlspecialchars()
函数用于将特殊字符转换为HTML实体。
预定义的字符是-
&(与号)变为&;
“(双引号)成为"
'(单引号)为'
<(小于)变为&lt;
>(大于)成为&gt;
语法
htmlspecialchars(str,flags,character-set,double_encode)
参数
str- 要转换的字符串。
标志 -如何处理引号,无效的编码和使用的文档类型。
以下是可用的引用样式-
ENT_COMPAT- 默认。仅编码双引号
ENT_QUOTES- 编码双引号和单引号
ENT_NOQUOTES- 不编码任何引号
无效的编码-
ENT_IGNORE- 忽略无效的编码,而不是让函数返回空字符串。应避免使用,因为这可能会带来安全隐患。
ENT_SUBSTITUTE- 将特定字符集的无效编码替换为Unicode替换字符U+FFFD(UTF-8)或&#FFFD;而不是返回一个空字符串。
ENT_DISALLOWED- 将指定文档类型中无效的代码点替换为Unicode替换字符U+FFFD(UTF-8)或&#FFFD;
以下是用于指定使用的doctype的其他标志-
ENT_HTML401- 默认。将代码作为HTML4.01处理
ENT_HTML5-将 代码作为HTML5处理
ENT_XML1-将 代码作为XML处理
ENT_XHTML-将 代码作为XHTML处理
字符集-要使用的字符集
以下是允许的值是-
UTF-8- 默认。ASCII兼容的多字节8位Unicode
ISO-8859-1- 西欧
ISO-8859-15- 西欧(添加ISO-8859-1中缺少的欧元符号+法语和芬兰字母)
cp866 -DOS特定的西里尔字符集
cp1251 -Windows特定的西里尔字符集
cp1252 -Windows特定于西欧的字符集
KOI8-R- 俄语
BIG5- 繁体中文,主要在台湾使用
GB2312- 简体中文,国家标准字符集
BIG5-HKSCS −Big5,香港扩展
Shift_JIS- 日语
EUC-JP- 日语
MacRoman -MacOS使用的字符集
double_encode-一个布尔值,它指定是否对现有的html实体进行编码。
TRUE- 默认。会转换一切
FALSE -不会编码现有的HTML实体
返回
该htmlspecialchars()
函数返回转换后的字符串。
示例
以下是一个例子-
<?php $res = htmlspecialchars("<a href='mylink' rel=”nofollow”><strong>Demo</strong></a>", ENT_QUOTES); echo $res // ?>
输出结果
& lt;a href=& #039;mylink& #039; rel=”nofollow”& gt;& lt;strong& gt;Demo& lt;/strong& gt;& lt;/a >