htmlentities( string $string[, int $flags[, string $encoding[, bool $double_encode]]] )

htmlentities( string $string[, int $flags[, string $encoding[, bool $double_encode]]] )は、文字列「$string」を、文字セット「$encoding」に基づき、HTMLエンティティ(文字実体参照)に変換(エンコード)する組み込み関数。'は、数値文字参照に変換する。

デコード には、html_entity_decode( string $string[, int $flags[, string $encoding]] )を使う。

定義

文字列型 htmlentities( 文字列型 $string[, 数値型 $flags[, 文字列型 $encoding[, 論理型 $double_encode]]] );

パラメータ

文字列型 $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)

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

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

文字実体参照にエンコード (2)

エンコード 後文字列 = htmlentities( 文字列, 取り扱い方法, 文字セット, false );

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

既存のHTMLエンティティ(文字実体参照)は、エンコード しない。

サンプル

HTMLの予約語を、文字実体参照にエンコード

<?php
$varArray = array( "'", '"', "<", ">", "&" );
foreach( $varArray as $varStr ){
    echo "{$varStr}: ";
    echo htmlentities( $varStr, ENT_QUOTES, "UTF-8" );
    echo "\n";
}
?>

↓↓↓出力結果↓↓↓

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

ISO-8859-1の記号を、文字実体参照にエンコード

<?php
$varArray = array( " ", "!", "¢", "£", "ツ、", "\", "|", "§", "¨", "c", "a", "≪", "¬", "-", "R", " ̄", "°", "±", "2", "3", "´", "μ", "¶", "・", ",", "1", "o", "≫", "ツシ", "ツス", "ツセ", "ツソ", "×", "÷" );
foreach( $varArray as $varStr ){
    echo "{$varStr}: ";
    echo htmlentities( $varStr, ENT_QUOTES, "UTF-8" );
    echo "\n";
}
?>

↓↓↓出力結果↓↓↓

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

ISO-8859-1の文字を、文字実体参照にエンコード

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

スポンサード リンク

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