PHP Manual
/
从用户那里获得数据

Htmlspecialchars

22. 08. 2019

Obsah článku

Htmlspecialchars()是一个将特殊字符转换为HTML实体的函数。

描述

$promenna = htmlspecialchars($text);

一些特殊的字符对浏览器有特殊的意义,所以它们应该被转换为实体。这可以防止一般的脚本安全,防止页面被错误地呈现。

它最常被用来保护表格和任何用户插入文本的地方,并有可能插入HTML标签。

字符 注释 更改为
& 逗号 &
" 双引号(当ENT_NOQUOTES被禁用时就会改变) "
' 撇号(当启用`ENT_QUOTES'时将会改变) '
< 小于,HTML括号 &lt;
> 大于,HTML括号 &gt;

参数

要转换的字符串

标志不同的行为设置

charset 指定字符集(编码)。默认的字符集是ISO-8859-1

你可以使用ISO-8859-1ISO-8859-15UTF-8cp866CP1251CP1252,和KOI8-R

注:只支持PHP 4.3.0及以后的版本。任何其他字符集都不被识别和支持。

double_encodedouble_encode被禁用时,PHP将不会对现有的HTML实体进行编码,默认是转换所有内容。

返回值

转换字符串。

如果字符串包含无效的单位,在ENT_IGNORE(未设置)中给定的字符集内,将返回一个空字符串。

版本的变化

版本 备注
5.4.0 增加常量ENT_SUBSTITUTEENT_DISALLOWEDENT_HTML401ENT_XML1ENT_XHTMLENT_HTML5
5.3.0 增加了ENT_IGNORE常量。
5.2.3 增加double_encode参数。
4.1.0 增加charset参数。

例子

$new = htmlspecialchars(
'<a href="test">测试</a>',
ENT_QUOTES
);
echo $new; // <a href="test">测试</a>

Jan Barášek   Více o autorovi

Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.

Rád vám pomůžu:

V jiných jazycích

1.
10.
Status:
All systems normal.
2024