❮ PHP 文字列リファレンス
例
一部の文字を HTML エンティティに変換します。
<?php
$str = '<a href="https://www.w3schools.com">Go to w3schools.com</a>';
echo htmlentities($str);
?>
上記のコードの HTML 出力は次のようになります (ソースを表示):
<a href="https://www.w3schools.com">Go to w3schools.com</a>
上記のコードのブラウザー出力は次のようになります。
<a href="https://www.w3schools.com">Go to w3schools.com</a>
自分で試してみる »
定義と使用法
htmlentities() 関数は、文字を HTML エンティティに変換します。
ヒント:HTML エンティティを文字に戻すには、html_entity_decode()関数。
ヒント:使用get_html_translation_table()htmlentities() で使用される変換テーブルを返す関数。
構文
htmlentities(string,flags,character-set,double_encode)
パラメータ値
パラメータ |
説明 |
string |
必要。変換する文字列を指定します |
フラグ |
オプション。引用符、無効なエンコード、および使用されるドキュメント タイプの処理方法を指定します。 利用可能な引用スタイルは次のとおりです。
- ENT_COMPAT - デフォルト。二重引用符のみをエンコードします
- ENT_QUOTES - 二重引用符と単一引用符をエンコードします
- ENT_NOQUOTES - 引用符をエンコードしません
無効なエンコーディング:
- ENT_IGNORE - 関数が空の文字列を返す代わりに、無効なエンコーディングを無視します。セキュリティに影響する可能性があるため、避ける必要があります。
- ENT_SUBSTITUTE - 指定された文字セットの無効なエンコードを Unicode 置換文字 U+FFFD (UTF-8) または &#FFFD; に置き換えます。空の文字列を返す代わりに。
- ENT_DISALLOWED - 指定された doctype で無効なコード ポイントを Unicode 置換文字 U+FFFD (UTF-8) または &#FFFD; に置き換えます。
使用する doctype を指定するための追加フラグ:
- ENT_HTML401 - デフォルト。コードを HTML 4.01 として扱う
- ENT_HTML5 - コードを HTML 5 として処理する
- ENT_XML1 - コードを XML 1 として処理する
- ENT_XHTML - コードを XHTML として処理する
|
キャラクターセット |
オプション。使用する文字セットを指定する文字列。 許可される値は次のとおりです。
- UTF-8 - デフォルト。 ASCII 互換のマルチバイト 8 ビット Unicode
- ISO-8859-1 - 西ヨーロッパ
- ISO-8859-15 - 西ヨーロッパ (ユーロ記号 + ISO-8859-1 にないフランス語とフィンランド語の文字を追加)
- cp866 - DOS 固有のキリル文字セット
- cp1251 - Windows 固有のキリル文字セット
- cp1252 - 西ヨーロッパ言語用の Windows 固有の文字セット
- KOI8-R - ロシア語
- BIG5 - 主に台湾で使用される繁体字中国語
- GB2312 - 簡体字中国語、国家標準文字セット
- BIG5-HKSCS - 香港の拡張機能を備えた Big5
- Shift_JIS - 日本語
- EUC-JP - 日本語
- MacRoman - Mac OS で使用されていた文字セット
ノート:PHP 5.4 より前のバージョンでは、認識されない文字セットは無視され、ISO-8859-1 に置き換えられます。 PHP 5.4 以降では無視され、UTF-8 に置き換えられます。
|
double_encode |
オプション。既存の html エンティティをエンコードするかどうかを指定するブール値。
- TRUE - デフォルト。すべてを変換します
- FALSE - 既存の html エンティティをエンコードしません
|
技術的な詳細
戻り値: |
変換された文字列を返します。ただし、弦パラメータに無効なエンコーディングが含まれている場合、ENT_IGNORE または ENT_SUBSTITUTE フラグが設定されていない限り、空の文字列が返されます |
PHP バージョン: |
4+ |
変更ログ: |
PHP 5.6 - のデフォルト値を変更しましたキャラクターセットパラメータをデフォルトの文字セットの値に変更します (構成内)。
PHP 5.4 - のデフォルト値を変更しましたキャラクターセットパラメータを UTF-8 にします。
PHP 5.4 - ENT_SUBSTITUTE、ENT_DISALLOWED、ENT_HTML401、ENT_HTML5、 ENT_XML1 および ENT_XHTML
PHP 5.3 - ENT_IGNORE 定数が追加されました。
PHP 5.2.3 - を追加しましたdouble_encodeパラメータ。
PHP 4.1 - を追加キャラクターセットパラメータ。 |
その他の例
例
一部の文字を HTML エンティティに変換します。
<?php
$str = "Albert Einstein said: 'E=MC²'";
echo htmlentities($str, ENT_COMPAT); // Will only convert double quotes
echo "<br>";
echo htmlentities($str, ENT_QUOTES); // Converts double and single quotes
echo "<br>";
echo htmlentities($str, ENT_NOQUOTES); // Does not convert any quotes
?>
上記のコードの HTML 出力は次のようになります (ソースを表示):
Albert Einstein said: 'E=MC²'<br>
Albert Einstein said: 'E=MC²'<br>
Albert Einstein said: 'E=MC²'
上記のコードのブラウザー出力は次のようになります。
Albert Einstein said: 'E=MC²'
Albert Einstein said: 'E=MC²'
Albert Einstein said: 'E=MC²'
自分で試してみる »
例
西ヨーロッパ文字セットを使用して、一部の文字を HTML エンティティに変換します。
<?php
$str = "My name is Øyvind Åsane. I'm Norwegian.";
echo htmlentities($str, ENT_QUOTES, "UTF-8"); // Will only convert double quotes (not single quotes), and uses the character-set Western European
?>
上記のコードの HTML 出力は次のようになります (ソースを表示):
<!DOCTYPE html>
<html>
<body>
My name is Øyvind Åsane. I'm Norwegian.
</body>
</html>
上記のコードのブラウザー出力は次のようになります。
My name is Øyvind Åsane. I'm Norwegian.
自分で試してみる »
❮
PHP 文字列リファレンス