php html_entity_decodeで HTMLエンティティに対応する全ての文字に戻す

  • 作成日 2021.10.12
  • php
php html_entity_decodeで HTMLエンティティに対応する全ての文字に戻す

phpで、html_entity_decodeを使用して、エンティティに対応する全ての文字に戻すサンプルコードを記述してます。phpのバージョンは8.0です。

環境

  • OS  CentOS Linux release 8.0.1905 (Core)
  • php 8.0.0
  • nginx 1.14.1

html_entity_decode使い方

html_entity_decodeを使用すれば、エンティティに対応する全ての文字に戻すことが可能です。

$result = html_entity_decode(
文字列,
変換する種類 デフォルト:ENT_COMPAT | ENT_HTML401);

使用できる第二引数は以下となります。

  • ENT_COMPAT : ダブルクォートを含めシングルクォートは含めない
  • ENT_QUOTES : ダブルクォートとシングルクォートの両方を含める
  • ENT_NOQUOTES : ダブルクォートとシングルクォートの両方を含めない
  • ENT_XML1 : XML 1
  • ENT_XHTML : XHTML
  • ENT_HTML5 : HTML 5

以下は、HTML エンティティに対応する全ての文字に戻すサンプルコードとなります。

<?php

$str = "&lt;a href=&quot;https://mebee.info/&quot;&gt;link&lt;/a&gt;";

$result = html_entity_decode($str);

print_r($result); // <a href="https://mebee.info/">link</a>

HTMLエンティティ化する場合は、html_entity_decodeを使用します。

<?php

$str = "<a href=\"https://mebee.info/\">link</a>";

$result = htmlentities($str);

print_r($result); // &lt;a href=&quot;https://mebee.info/&quot;&gt;link&lt;/a&gt;