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( " ", "!", "¢", "£", "ツ、", "\", "|", "§", "¨", "c", "a", "≪", "¬", "-", "R", " ̄", "°", "±", "2", "3", "´", "μ", "¶", "・", ",", "1", "o", "≫", "ツシ", "ツス", "ツセ", "ツソ", "×", "÷" );
foreach( $varArray as $varStr ){
echo "{$varStr}: ";
echo htmlentities( $varStr, ENT_QUOTES, "UTF-8" );
echo "\n";
}
?>
↓↓↓出力結果↓↓↓
!: ¡
¢: ¢
£: £
ツ、: ¤
\: ¥
|: ¦
§: §
¨: ¨
c: ©
a: ª
≪: «
¬: ¬
-: ­
R: ®
 ̄: ¯
°: °
±: ±
2: ²
3: ³
´: ´
μ: µ
¶: ¶
・: ·
,: ¸
1: ¹
o: º
≫: »
ツシ: ¼
ツス: ½
ツセ: ¾
ツソ: ¿
×: ×
÷: ÷
ISO-8859-1の文字を、文字実体参照にエンコード
$varArray = array( "A", "A", "A", "A", "A", "A", "A", "C", "E", "E", "E", "E", "I", "I", "I", "I", "D", "N", "O", "O", "O", "O", "O", "O", "U", "U", "U",
"U", "Y", "T", "s", "a", "a", "a", "a", "a", "a", "a", "c", "e", "e", "e", "e", "i", "i", "i", "i", "d", "n", "o", "o", "o", "o", "o", "o", "u", "u", "u",
"u", "y", "t", "y" );
foreach( $varArray as $varStr ){
echo "{$varStr}: ";
echo htmlentities( $varStr, ENT_QUOTES, "UTF-8" );
echo "\n";
}
?>
↓↓↓出力結果↓↓↓
A: Á
A: Â
A: Ã
A: Ä
A: Å
A: Æ
C: Ç
E: È
E: É
E: Ê
E: Ë
I: Ì
I: Í
I: Î
I: Ï
D: Ð
N: Ñ
O: Ò
O: Ó
O: Ô
O: Õ
O: Ö
O: Ø
U: Ù
U: Ú
U: Û
U: Ü
Y: Ý
T: Þ
s: ß
a: à
a: á
a: â
a: ã
a: ä
a: å
a: æ
c: ç
e: è
e: é
e: ê
e: ë
i: ì
i: í
i: î
i: ï
d: ð
n: ñ
o: ò
o: ó
o: ô
o: õ
o: ö
o: ø
u: ù
u: ú
u: û
u: ü
y: ý
t: þ
y: ÿ