htmlentities( string $string[, int $flags[, string $encoding[, bool $double_encode]]] )
は、文字列「$string」を、文字セット「$encoding」に基づき、HTMLエンティティ(文字実体参照)に変換(エンコード)する組み込み関数。'
は、数値文字参照に変換する。
デコード には、html_entity_decode( string $string[, int $flags[, string $encoding]] )を使う。
定義
パラメータ
- 文字列型 $string
HTMLエンティティ(文字実体参照)に、変換(エンコード)したい文字列を指定する。
- 数値型 $flags
クォートやコードなどの取り扱い方法。
- ENT_COMPAT: ダブルクオートは変換する。シングルクオートは変換しない。
- ENT_QUOTES: ダブルクオートも、シングルクオートも、変換する。
- ENT_NOQUOTES: ダブルクオートも、シングルクオートも、変換しない。
- ENT_IGNORE:
- ENT_SUBSTITUTE:
- ENT_DISALLOWED:
- 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」。
- 論理型 $double_encode
オプション。
既存のHTMLエンティティ(文字実体参照)を、エンコード するかどうか。
「true」を指定すると、既存のHTMLエンティティ(文字実体参照)も、エンコード する。
「false」を指定すると、既存のHTMLエンティティ(文字実体参照)は、エンコード しない。
初期設定値は、「true」。
戻り値
文字列「文字列型 $string」を、文字セット「$encoding」に基づき、HTMLエンティティ(文字実体参照)にエンコード した文字列。
構文
文字実体参照にエンコード (1)
「文字列」を、「文字セット」に基づき、HTMLエンティティ(文字実体参照)にエンコード し、「エンコード 後文字列」を返す。
文字実体参照にエンコード (2)
「文字列」を、「文字セット」に基づき、HTMLエンティティ(文字実体参照)にエンコード し、「エンコード 後文字列」を返す。
既存のHTMLエンティティ(文字実体参照)は、エンコード しない。
サンプル
HTMLの予約語を、文字実体参照にエンコード
$varArray = array( "'", '"', "<", ">", "&" );
foreach( $varArray as $varStr ){
echo "{$varStr}: ";
echo htmlentities( $varStr, ENT_QUOTES, "UTF-8" );
echo "\n";
}
?>
↓↓↓出力結果↓↓↓
": "
<: <
>: >
&: &
ISO-8859-1の記号を、文字実体参照にエンコード
$varArray = array( " ", "¡", "¢", "£", "¤", "¥", "¦", "§", "¨", "©", "ª", "«", "¬", "", "®", "¯", "°", "±", "²", "³", "´", "µ", "¶", "·", "¸", "¹", "º", "»", "¼", "½", "¾", "¿", "×", "÷" );
foreach( $varArray as $varStr ){
echo "{$varStr}: ";
echo htmlentities( $varStr, ENT_QUOTES, "UTF-8" );
echo "\n";
}
?>
↓↓↓出力結果↓↓↓
¡: ¡
¢: ¢
£: £
¤: ¤
¥: ¥
¦: ¦
§: §
¨: ¨
©: ©
ª: ª
«: «
¬: ¬
: ­
®: ®
¯: ¯
°: °
±: ±
²: ²
³: ³
´: ´
µ: µ
¶: ¶
·: ·
¸: ¸
¹: ¹
º: º
»: »
¼: ¼
½: ½
¾: ¾
¿: ¿
×: ×
÷: ÷
ISO-8859-1の文字を、文字実体参照にエンコード
$varArray = array( "À", "Á", "Â", "Ã", "Ä", "Å", "Æ", "Ç", "È", "É", "Ê", "Ë", "Ì", "Í", "Î", "Ï", "Ð", "Ñ", "Ò", "Ó", "Ô", "Õ", "Ö", "Ø", "Ù", "Ú", "Û",
"Ü", "Ý", "Þ", "ß", "à", "á", "â", "ã", "ä", "å", "æ", "ç", "è", "é", "ê", "ë", "ì", "í", "î", "ï", "ð", "ñ", "ò", "ó", "ô", "õ", "ö", "ø", "ù", "ú", "û",
"ü", "ý", "þ", "ÿ" );
foreach( $varArray as $varStr ){
echo "{$varStr}: ";
echo htmlentities( $varStr, ENT_QUOTES, "UTF-8" );
echo "\n";
}
?>
↓↓↓出力結果↓↓↓
Á: Á
Â: Â
Ã: Ã
Ä: Ä
Å: Å
Æ: Æ
Ç: Ç
È: È
É: É
Ê: Ê
Ë: Ë
Ì: Ì
Í: Í
Î: Î
Ï: Ï
Ð: Ð
Ñ: Ñ
Ò: Ò
Ó: Ó
Ô: Ô
Õ: Õ
Ö: Ö
Ø: Ø
Ù: Ù
Ú: Ú
Û: Û
Ü: Ü
Ý: Ý
Þ: Þ
ß: ß
à: à
á: á
â: â
ã: ã
ä: ä
å: å
æ: æ
ç: ç
è: è
é: é
ê: ê
ë: ë
ì: ì
í: í
î: î
ï: ï
ð: ð
ñ: ñ
ò: ò
ó: ó
ô: ô
õ: õ
ö: ö
ø: ø
ù: ù
ú: ú
û: û
ü: ü
ý: ý
þ: þ
ÿ: ÿ