html_entity_decode( string $string[, int $flags[, string $encoding]] )

html_entity_decode( string $string[, int $flags[, string $encoding]] )は、文字列「$string」の中のHTMLエンティティ (文字実体参照や数値文字参照) を、変換(デコード)する組み込み関数。

エンコードには、htmlentities( string $string[, int $flags[, string $encoding[, bool $double_encode]]] )を使う。

定義

文字列型 html_entity_decode( 文字列型 $string[, 数値型 $flags[, 文字列型 $encoding]] );

パラメータ

文字列型 $string

HTMLエンティティ (文字実体参照や数値文字参照) を、変換(デコード)したい文字列を指定する。

数値型 $flags

クォートやコードなどの取り扱い方法。

  • ENT_COMPAT: ダブルクオートは変換する。シングルクオートは変換しない。
  • ENT_QUOTES: ダブルクオートも、シングルクオートも、変換する。
  • ENT_NOQUOTES: ダブルクオートも、シングルクオートも、変換しない。
  • ENT_HTML401: 「HTML 4.01」として、コードを処理。
  • ENT_XML1: 「XML 1」として、コードを処理。
  • ENT_XHTML: 「XHTML」として、コードを処理。
  • ENT_HTML5: 「HTML 5」として、コードを処理。
文字列型 $encoding

変換に使用する文字セットを指定する。

サポートしている文字セット。

  • ISO-8859-1
  • ISO-8859-5
  • ISO-8859-15
  • UTF-8
  • cp866
  • cp1251
  • cp1252
  • KOI8-R
  • BIG5
  • GB2312
  • BIG5-HKSCS
  • Shift_JIS
  • EUC-JP
  • MacRoman

「PHP 5.4.0」以降の初期設定値は、「UTF-8」。

「PHP 5.4.0」より前の初期設定値は、「ISO-8859-1」。

戻り値

文字列「文字列型 $string」を、文字セット「$encoding」に基づき、HTMLエンティティ (文字実体参照や数値文字参照) からデコードした文字列。

構文

文字実体参照からデコード

デコード後文字列 = html_entity_decode( 文字列, 取り扱い方法, 文字セット );

「文字列」を、「文字セット」に基づき、HTMLエンティティ (文字実体参照や数値文字参照) からデコードし、「デコード後文字列」を返す。

サンプル

HTMLの予約語を、文字実体参照からデコード

<?php
$varArray = array( "&#039;", "&quot;", "&lt;", "&gt;", "&amp;" );
foreach( $varArray as $varStr ){
    echo "{$varStr}: ";
    echo html_entity_decode( $varStr, ENT_QUOTES, "UTF-8" );
    echo "\n";
}
?>

↓↓↓出力結果↓↓↓

&#039;: '
&quot;: "
&lt;: <
&gt;: >
&amp;: &

ISO-8859-1の記号を、文字実体参照からデコード

<?php
$varArray = array( "&nbsp;", "&iexcl;", "&cent;", "&pound;", "&curren;", "&yen;", "&brvbar;", "&sect;", "&uml;", "&copy;", "&ordf;", "&laquo;", "&not;",
"&shy;", "&reg;", "&macr;", "&deg;", "&plusmn;", "&sup2;", "&sup3;", "&acute;", "&micro;", "&para;", "&middot;", "&cedil;", "&sup1;", "&ordm;", "&raquo;",
"&frac14;", "&frac12;", "&frac34;", "&iquest;", "&times;", "&divide;" );
foreach( $varArray as $varStr ){
    echo "{$varStr}: ";
    echo html_entity_decode( $varStr, ENT_QUOTES, "UTF-8" );
    echo "\n";
}
?>

↓↓↓出力結果↓↓↓

&nbsp;:
&iexcl;: !
&cent;: ¢
&pound;: £
&curren;: ツ、
&yen;: \
&brvbar;: |
&sect;: §
&uml;: ¨
&copy;: c
&ordf;: a
&laquo;: ≪
&not;: ¬
&shy;: -
&reg;: R
&macr;:  ̄
&deg;: °
&plusmn;: ±
&sup2;: 2
&sup3;: 3
&acute;: ´
&micro;: μ
&para;: ¶
&middot;: ・
&cedil;: ,
&sup1;: 1
&ordm;: o
&raquo;: ≫
&frac14;: ツシ
&frac12;: ツス
&frac34;: ツセ
&iquest;: ツソ
&times;: ×
&divide;: ÷

ISO-8859-1の文字を、文字実体参照からデコード

<?php
$varArray = array( "&Agrave;", "&Aacute;", "&Acirc;", "&Atilde;", "&Auml;", "&Aring;", "&AElig;", "&Ccedil;", "&Egrave;", "&Eacute;", "&Ecirc;", "&Euml;",
"&Igrave;", "&Iacute;", "&Icirc;", "&Iuml;", "&ETH;", "&Ntilde;", "&Ograve;", "&Oacute;", "&Ocirc;", "&Otilde;", "&Ouml;", "&Oslash;", "&Ugrave;",
"&Uacute;", "&Ucirc;", "&Uuml;", "&Yacute;", "&THORN;", "&szlig;", "&agrave;", "&aacute;", "&acirc;", "&atilde;", "&auml;", "&aring;", "&aelig;", "&ccedil;",
"&egrave;", "&eacute;", "&ecirc;", "&euml;", "&igrave;", "&iacute;", "&icirc;", "&iuml;", "&eth;", "&ntilde;", "&ograve;", "&oacute;", "&ocirc;", "&otilde;",
"&ouml;", "&oslash;", "&ugrave;", "&uacute;", "&ucirc;", "&uuml;", "&yacute;", "&thorn;", "&yuml;" );
foreach( $varArray as $varStr ){
    echo "{$varStr}: ";
    echo html_entity_decode( $varStr, ENT_QUOTES, "UTF-8" );
    echo "\n";
}
?>

↓↓↓出力結果↓↓↓

&Agrave;: A
&Aacute;: A
&Acirc;: A
&Atilde;: A
&Auml;: A
&Aring;: A
&AElig;: A
&Ccedil;: C
&Egrave;: E
&Eacute;: E
&Ecirc;: E
&Euml;: E
&Igrave;: I
&Iacute;: I
&Icirc;: I
&Iuml;: I
&ETH;: D
&Ntilde;: N
&Ograve;: O
&Oacute;: O
&Ocirc;: O
&Otilde;: O
&Ouml;: O
&Oslash;: O
&Ugrave;: U
&Uacute;: U
&Ucirc;: U
&Uuml;: U
&Yacute;: Y
&THORN;: T
&szlig;: s
&agrave;: a
&aacute;: a
&acirc;: a
&atilde;: a
&auml;: a
&aring;: a
&aelig;: a
&ccedil;: c
&egrave;: e
&eacute;: e
&ecirc;: e
&euml;: e
&igrave;: i
&iacute;: i
&icirc;: i
&iuml;: i
&eth;: d
&ntilde;: n
&ograve;: o
&oacute;: o
&ocirc;: o
&otilde;: o
&ouml;: o
&oslash;: o
&ugrave;: u
&uacute;: u
&ucirc;: u
&uuml;: u
&yacute;: y
&thorn;: t
&yuml;: y

スポンサード リンク

カテゴリー: HTML, PHP, 文字列, 組み込み関数 タグ: , パーマリンク