Functioni ya htmlspecialchars() ya PHP

Mifano

Badilisha wengine zimezidiwa ya kawaida ya kichwa "<" (kichwa) na kibwa ">" (kichwa kubwa) kwa HTML entity:


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




This is some <b>bold</b> text.


以上代码的浏览器输出:

This is some <b>bold</b> text.

运行实例

Makadaro na Matumizi

Functioni ya htmlspecialchars inabadilisha wengine zimezidiwa kwa HTML entity.

Wengine zimezidiwa:

  • & (na) inatumiwa kama &
  • " (kibao chini) inatumiwa kama "
  • ' (kibao) inatumiwa kama '
  • < (kichwa) inatumiwa kama <
  • > (kubwa) inatumiwa kama >

Tahadhari:Kuwa na mawendo ya HTML entity kwa sababu ya mawendo ya kawaida, tumia htmlspecialchars_decode() Matokeo wa programu.

Makadaro

htmlspecialchars(string,flags,character-set,double_encode)
Paramaga Muhtasari
string Inahitajika. Inasababisha kwa kusikia stringi inayotumika.
flags

Chaguo. Inasababisha kwa kusikia kwa upepo wa majipya, upepo wa kawaida na aina ya dokumeni ya kutumika.

Aina za majipya zilizopewa:

  • ENT_COMPAT - Inaingia kwa chaguo wa kwa mbali mbali. Inabadilika majipya ya kifupi tu.
  • ENT_QUOTES - Hii inabadilika majipya ya kifupi na kibao.
  • ENT_NOQUOTES - Hii haina kubadilika majipya.

Upepo wa kawaida:

  • ENT_IGNORE - Inaichukuliwa upepo wa kawaida hata ingekubali kumeposta kipakua tu. Inasaidia kuwa inachukuliwa hata ingekubali kumeposta kipakua tu. Inapaswa kusikia kwa sababu inaweza kufikia uhusiano wa mifumo.
  • ENT_SUBSTITUTE - Badiaza upepo wa kawaida na heya inayotumika kwa Unicode kwa U+FFFD (UTF-8) au &#FFFD; hivyo ingepostika kipakua tu. Badala yake inasaidia kuwa ingepostika heya ya kawaida.
  • ENT_DISALLOWED - Badiaza upepo zimea na ufupi ya Unicode kwa U+FFFD (UTF-8) au &#FFFD; kwa kusomea mawanda ya kawaida ya upepo wa dokumeni.

规定使用的文档类型的附加 flags:

  • ENT_HTML401 - 默认。作为 HTML 4.01 处理代码。
  • ENT_HTML5 - 作为 HTML 5 处理代码。
  • ENT_XML1 - 作为 XML 1 处理代码。
  • ENT_XHTML - 作为 XHTML 处理代码。
character-set

可选。一个规定了要使用的字符集的字符串。

允许的值:

  • UTF-8 - 默认。ASCII 兼容多字节的 8 位 Unicode
  • ISO-8859-1 - 西欧
  • ISO-8859-15 - 西欧(加入欧元符号 + ISO-8859-1 中丢失的法语和芬兰语字母)
  • cp866 - DOS 专用 Cyrillic 字符集
  • cp1251 - Windows 专用 Cyrillic 字符集
  • cp1252 - Windows 专用西欧字符集
  • KOI8-R - 俄语
  • BIG5 - 繁体中文,主要在台湾使用
  • GB2312 - Kina ya Kichina Kiasili, kina cha siri ya taifa
  • BIG5-HKSCS - Big5 na kufikia kina ya Hong Kong
  • Shift_JIS - Kina ya Kijapani
  • EUC-JP - Kina ya Kijapani
  • MacRoman - Kifaa cha Mac cha kina

Mawazo:Kwenye vya PHP 5.4 na kafuatikia, uwanafikia kwa ujenzi wa kina inafikia kwa ISO-8859-1. Kwenye PHP 5.4, uwanafikia kwa ujenzi wa kina inafikia kwa UTF-8.

double_encode

Chaguo. Tathmini inaaminika kama chaguo, inaaminika kama chaguo kinaamini kufichwa kwa HTML entity.

  • TRUE - Mwakozi. Inabadilika kwa kila entity.
  • FALSE - Hakutafutikia kufichwa kwa HTML entity kubadilika.

Maelezo ya teknolojia

Inafikia thamani:

Inafikia stringi ya kusaidia.

Ikiwa... string Inafikia stringi ya kifo, hata iweze kufikia ENT_IGNORE au ENT_SUBSTITUTE flag.

Mwili wa PHP: 4+
Makala ya mazoezi:

Kwenye PHP 5...character-set Mwakozi wa thamani wa kipakuo huitwa UTF-8.

Kwenye PHP 5.4, kipandikwa: ENT_SUBSTITUTE, ENT_DISALLOWED, ENT_HTML401, ENT_HTML5, ENT_XML1 na ENT_XHTML.

Kwenye PHP 5.3, kipandikwa ENT_IGNORE.

Kwenye PHP 5.2.3, kipandikwa... double_encode 参数。

在 PHP 4.1 中,新增了 character-set 参数。

更多实例

例子 1

把一些预定义的字符转换为 HTML 实体:

";
echo htmlspecialchars($str, ENT_QUOTES);// 转换双引号和单引号
echo "
"; echo htmlspecialchars($str, ENT_NOQUOTES); // 不转换任何引号 ?>

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




Bill & 'Steve'
Bill & 'Steve'
Bill & 'Steve'

以上代码的浏览器输出:

Bill & 'Steve'
Bill & 'Steve'
Bill & 'Steve'

运行实例

例子 2

把双引号转换为 HTML 实体:


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




I love "PHP".


以上代码的浏览器输出:

I love "PHP".

运行实例