PHPでウェブの世界と繋がろう!
menu
ホーム > PHP関数リファレンス > 文字列系 > htmlentities() 文字列をHTMLエンティティにエンコード

htmlentities() 文字列をHTMLエンティティにエンコード

Pocket

説明

概要
(PHP 4, PHP 5)
文字列をHTMLエンティティにエンコードします。この関数は htmlspecialchars()と同じですが、 HTMLエンティティと等価な意味を有する文字をHTMLエンティティに変換します。

HTMLエンティティとは、「"(ダブルクォート)」、「'(シングルクォート)」、「<(大なり記号)」、「>(小なり記号)」など、HTMLタグ文字として使用されている「HTML特殊文字」をHTML上で表示できる文字に変換されたもののことです。

< → &lt; //HTMLエンティティ
> → &gt; //HTMLエンティティ
" → &quot; //HTMLエンティティ
' → &apos; //HTMLエンティティ

構文
string htmlentities ( string $string [, int $flags = ENT_COMPAT | ENT_HTML401 [, string $encoding = 'UTF-8' [, bool $double_encode = true ]]] )

※[ ]内は省略可能

  • string HTMLエンティティにエンコードする文字列を指定します。
  • flags クォートや無効な符号単位シーケンス、そして文書型の扱いを指定します。 デフォルトは ENT_COMPAT | ENT_HTML401 です。 その他定数は以下参照
    • ENT_COMPAT ダブルクォートを変換し、シングルクォートはそのままにします。
    • ENT_QUOTES ダブルクォート、シングルクォートの両方を変換します。
    • ENT_NOQUOTES ダブルクォート、シングルクォートの両方とも変換しません。
    • ENT_IGNORE 無効な符号単位シーケンスを含む文字列を渡したときに、 空の文字列を返すのではなく無効な部分を切り捨てるようになります。
    • ENT_SUBSTITUTE 無効な符号単位シーケンスを含む文字列を渡したときに、 空の文字列を返すのではなく Unicode の置換文字に置き換えます。
    • ENT_DISALLOWED 指定した文書型において無効な符号位置を、Unicode の代替文字である U+FFFD (UTF-8) あるいは &#FFFD; で置き換えます。
    • ENT_HTML401 コードを HTML 4.01 として処理します。
    • ENT_XML1 コードを XML 1 として処理します。
    • ENT_XHTML コードを XHTML として処理します。
    • ENT_HTML5 コードを HTML 5 として処理します。
  • encoding エンコーディングを指定します。
    • ISO-8859-1 西欧、Latin-1
    • ISO-8859-5 ほとんど使われないキリル文字セット (Latin/Cyrillic)。
    • ISO-8859-15 西欧、Latin-9 。Latin-1(ISO-8859-1) に欠けている ユーロ記号やフランス・フィンランドの文字を追加したもの。
    • UTF-8 ASCII 互換のマルチバイト 8 ビット Unicode 。
    • cp866 DOS 固有のキリル文字セット。
    • cp1251 Windows 固有のキリル文字セット。
    • cp1252 西欧のための Windows 固有の文字セット。
    • KOI8-R ロシア語。
    • BIG5 繁体字中国語。主に台湾で使用されます。
    • GB2312 簡体字中国語。国の標準文字セットです。
    • BIG5-HKSCS Big5 に香港の拡張を含めたもの。繁体字中国語。
    • Shift_JIS 日本語。
    • EUC-JP EUCJP, eucJP-win 日本語。
    • MacRoman Mac OS で使われる文字セット。
    • ” 空文字列を指定すると、 スクリプトのエンコーディング (Zend multibyte)。

返り値
エンコードされた文字列を返します。

サンプル
<?php
$string = '<a href="http://www.tryphp.net/">tryphp</a>';
echo 'そのまま出力 : '.$string."<br/>\n";
echo 'HTMLエンティティ : '.htmlentities($string, ENT_QUOTES, 'UTF-8')."<br/>\n";
?>

結果は

そのまま出力 : tryphp
HTMLエンティティ : <a href="http://www.tryphp.net/">tryphp</a>

となります。

ソースコードを見ると以下のようになっています。

そのまま出力 : <a href="http://www.tryphp.net/">tryphp</a>
HTMLエンティティ : &lt;a href=&quot;http://www.tryphp.net/&quot;&gt;tryphp&lt;/a&gt;

サンプルコード

– サンプル Click Here ! –

<h3>文字列をエスケープ</h3>
<?php
$string = '<a href="http://www.tryphp.net/">tryphp</a>';
echo 'そのまま出力 : '.$string."<br/>\n";
echo 'HTMLエンティティ : '.htmlentities($string, ENT_QUOTES, 'UTF-8')."<br/>\n";
?>

– サンプル Click Here ! –

タグ(=記事関連ワード)

タグ: , ,

日付

投稿日:2012年9月12日
最終更新日:2012年09月13日

関連記事

配列関数サンプル

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

http://www.tryphp.net/phpfunction-string-htmlentities/trackback/