PHP html_entity_decode() -funktio

Esimerkki

Muunnetaan määritellyt HTML-entiteetit "<" (pienempi kuin) ja ">" (suurempi kuin) merkeiksi:

<?php
$str = "Tämä on jotain lihavoitua <b>tekstiä</b>.";
echo htmlspecialchars_decode($str);
?>

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

!DOCTYPE html
<html>
<body>
Tämä on jotain lihavoitua <b>tekstiä</b>.
</body>
</html>

以上代码的浏览器输出:

Tämä on jotain lihavoitua tekstiä.

Määrittely ja käyttö

htmlspecialchars_decode() -funktio muuntaa määritellyt HTML-entiteetit merkkijonoksi.

Dekoodataan HTML-entiteetit ovat:

  • & Dekoodataan & (ja)
  • " Dekoodataan " (kaksinkertainen lainausmerkki)
  • ' Dekoodataan ' (yksinkertainen lainausmerkki)
  • < Dekoodataan < (pienempi kuin)
  • > Dekoodataan > (suurempi kuin)

htmlspecialchars_decode() -funktio on htmlspecialchars() -funktion vastakohta.

Syntaksi

htmlspecialchars_decode(string,flags)
Parametrit Kuvaus
string Välttämätön. Määritellään, mikä merkkijono dekoodataan.
flags

Valinnainen. Määritellään, miten lainausmerkit käsitellään ja mikä dokumentityyppi käytetään.

Käytettävissä olevat lainausmerkkityypit:

  • ENT_COMPAT - Oletus. Dekoodataan vain kahden lausekkeen lainausmerkit.
  • ENT_QUOTES - Dekoodataan sekä kahden että yhden lausekkeen lainausmerkit.
  • ENT_NOQUOTES - Ei dekoodata minkäänlaiseja lainausmerkkejä.

Määritellään käytettävän dokumentityypin lisäflags:

  • ENT_HTML401 - Oletus. Käsitellään koodia HTML 4.01:nä.
  • ENT_HTML5 - Käsitellään koodia HTML 5:nä.
  • ENT_XML1 - Käsitellään koodia XML 1:nä.
  • ENT_XHTML - Käsitellään koodia XHTML:nä.

技术细节

返回值: 返回已转换的字符串。
PHP 版本: 5.1.0+
更新日志:

在 PHP 5.4 中,新增了用于规定使用的文档类型的附加 flags:

  • ENT_HTML401
  • ENT_HTML5
  • ENT_XML1
  • ENT_XHTML

更多实例

例子 1

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

<?php
$str = "Bill & 'Steve'";
echo htmlspecialchars_decode($str, ENT_COMPAT); // 只转换双引号
echo "<br>";
echo htmlspecialchars_decode($str, ENT_QUOTES); // 转换双引号和单引号
echo "<br>";
echo htmlspecialchars_decode($str, ENT_NOQUOTES); // 不转换任何引号
?>

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

!DOCTYPE html
<html>
<body>
Bill & 'Steve'<br>
Bill & 'Steve'<br>
Bill & 'Steve'
</body>
</html>

以上代码的浏览器输出:

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

例子 2

把预定义 HTML 实体转换为双引号:

<?php
$str = 'I love "PHP".';
echo htmlspecialchars_decode($str, ENT_QUOTES); // 转换双引号和单引号
?>

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

!DOCTYPE html
<html>
<body>
I love "PHP".
</body>
</html>

以上代码的浏览器输出:

I love "PHP".