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- 默认。将代码作为HTML 4.01处理

    • ENT_HTML5-将 代码作为HTML 5处理

    • 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  -Mac OS使用的字符集

  • 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 >