ホームページ  >  記事  >  バックエンド開発  >  html_entity_decode を使用して、php で HTML エンティティのエスケープを実装します。

html_entity_decode を使用して、php で HTML エンティティのエスケープを実装します。

不言
不言オリジナル
2018-06-13 09:22:062480ブラウズ

この記事では、HTML エンティティのエスケープを実装するための php の html_entity_decode に関する関連情報を主に紹介します。必要な方は参照してください。

最近、データに中国語の引用符が含まれているという問題が発生しました。データベースに移動し、データを取得するときに htmlspecialchars_decode を使用してエンティティをエスケープして戻しましたが、htmlspecialchars_decode を調べたところ、指定された 5 つのエンティティ変換のみがサポートされていることがわかりました。マーク "ldrquo;]

そこで、html_entity_decode がすべてのエンティティをエスケープして戻すことができることを発見しました~

さらに、ブラウザでテストすると、エスケープされていることがわかります。これはブラウザが自動的に 対処しているためです。実際、元の変換はありません。コマンド ラインで試すことができます~~

html_entity_decode: すべての HTML エンティティを元の文字に変換します。 htmlentities()

とは対照的に、より正確には、この関数はすべてのエンティティ (すべての数値エンティティを含む) をデコードします。 a) 選択したドキュメント タイプに対して有効でなければなりません - つまり、XML の場合、この関数は名前付きのエンティティをデコードしません一部の DTD で定義されている可能性のあるエンティティ - および b) 文字が、選択されたエンコーディングに関連付けられたエンコーディング文字セット内にあり、選択されたドキュメント タイプで許可されている場合。他のすべてのエンティティはそのまま残ります。

htmlspecialchars_decode

: 特殊な HTML エンティティを通常の文字に変換します

この関数の機能は、htmlspecialchars() の逆です。特殊な HTML エンティティを通常の文字に変換します。

変換されるエンティティは、&、" (ENT_NOQUOTES が設定されていない場合)、' (ENT_QUOTES が設定されている場合)、77953f1368049e30c12f1e8121fc1b6f です。

したがって、変換することはできません。上記の 5 つの他の変換に含まれていないものも含めます。

HTML エンティティを文字に変換します。

<?php
$str = "<© W3CSçh°°¦§>";
echo html_entity_decode($str);
?>

上記のコードの HTML 出力は次のとおりです。次のように (ソース コードを表示):

<!DOCTYPE html>
<html>
<body>
<© W3CSçh°°¦§>
</body>
</html>

上記のコードのブラウザ出力は次のとおりです:

9f74f5549dc05a305df5b7a605b890a5

上記はこの記事の全内容です。他の関連コンテンツについては、PHP 中国語 Web サイトに注目してください。 関連する推奨事項:

PHP を使用して複数画像のアップロード圧縮機能を処理する方法

PHP での CURL および SOAP リクエストのサービス タイムアウトの問題を解決する方法# ##################################

以上がhtml_entity_decode を使用して、php で HTML エンティティのエスケープを実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。