検索
ホームページPHP ライブラリその他の図書館htmlpurifierPHP フィルタリング ライブラリ
htmlpurifierPHP フィルタリング ライブラリ

require_once '/path/to/HTMLPurifier.auto.php';

ThinkPHP の仕様によれば、ThinkPHP 開発仕様に準拠していないサードパーティの拡張機能については、HTMLPurifier をライブラリに配置する必要があります。 /Vendor ディレクトリの中間。次に、次の方法で HTMLPurifier.auto.php をフレームワーク プログラムに導入できます:

vendor('htmlpurifier.library.HTMLPurifier#auto');

ただし、ここでは ThinkPHP 3.2.1 を使用しており、この方法は関数でのみ使用できることがわかりました。コントローラークラスを正しく認識できません。つまり、common/function.php ファイル内でのみ参照できます。

HTMLPurifier オブジェクトを作成し、リッチ テキスト フィルタリングを実装する

$config = HTMLPurifier_Config::createDefault();
$purifier = new HTMLPurifier($config);
$clean_html = $purifier->purify($dirty_html);

HTMLPurifier フィルタを構成する方法

HTMLPurifier を使用する場合、引き続きその構成方法に焦点が当てられます。上記のプログラムでは、createDefault() メソッドを使用してデフォルト設定オブジェクトを作成しました。構成を変更したい場合は、set メソッドを使用して設定を構成できます。メソッドは次のとおりです:

$config->set('config_object', value, a=null);

最初のパラメーターは構成する必要がある属性で、2 番目のパラメーターは値です属性の 3 番目のパラメータが特定です 何に使うのかは分かりませんが、普段使ったことがないので、時間がある時にゆっくり勉強してみます。

HTMLPurifier の構成属性は Web サイトを通じてクエリできます

構成属性の選択

HTMLPurifier の構成ドキュメントは主に 2 レベルの分類であり、主要なカテゴリは Attr (属性)、 HTML(htmlタグ)、AutoFormat(自動書式)、CSS(css設定)、Output(出力設定)…大カテゴリの名前を追加することでサブカテゴリの選択が完了します サブカテゴリの名前を追加します。

たとえば、p タグや a タグなど、許可される HTML タグを設定したい場合は、次のように設定できます

$config->set('HTML.Allowed', 'p,a');

属性値の選択

In公式ドキュメントをクリックすると、属性の後にこの属性の説明が表示され、この属性の値の型 (Type) が String、Int、Array、Boolen...

であることがわかります。次に、この属性のデフォルト値 (NULL、true、false など) も表示されます。この値の形式は PHP の形式と同じです。

ホワイトリスト フィルタリング メカニズム

HTMLPurifier はホワイトリスト フィルタリング メカニズムを使用し、許可されたものだけがテストに合格します。

基本的なフィルタリングの例

a. テキスト内のすべての HTML タグをフィルタリングします

/**
 * 过滤掉所有html标签很简单,原因则在白名单机制完成
 */
$config->set('HTML.Allowed', '');

b. ハイパーリンク タグ a とその href リンク アドレス属性を保持し、ターゲットを自動的に追加します属性値は '_blank'

$config->set('HTML.Allowed', 'a[href]');
$config->set('HTML.TargetBlank', true);

c で、段落コードが自動的に完成し、不要な空のタグ

// 让文本自动添加段落标签,前提是必须允许P标签的使用
$config->set('HTML.Allowed', 'p');
$config->set('AutoFormat.AutoParagraph', true);
// 清除空标签
$config->set('AutoFormat.RemoveEmpty', true);
……


が削除されます。
免責事項

このサイトのすべてのリソースはネチズンによって提供されたもの、または主要なダウンロード サイトによって転載されたものです。ソフトウェアの整合性をご自身で確認してください。このサイトのすべてのリソースは学習の参考のみを目的としています。商業目的で使用しないでください。そうでない場合は、すべての結果に対して責任を負うことになります。侵害がある場合は、削除するためにご連絡ください。連絡先情報: admin@php.cn

関連記事

cURL はどのように PHP での HTTP リクエストを容易にするのですか?cURL はどのように PHP での HTTP リクエストを容易にするのですか?

30Nov2024

cURL: PHP の HTTP リクエスト ハンドラー PHP 開発の分野では、「cURL」という用語が頻繁に登場します。それは図書館です...

2025年に知るべきトップ50のPythonライブラリ2025年に知るべきトップ50のPythonライブラリ

16Mar2025

Python:AIとデータサイエンスの未来へのゲートウェイ Pythonの比類のない汎用性と読みやすさは、データサイエンス、機械学習、人工知能の優先言語としてのステータスを固めています。 その広範な図書館のエコシス

App Engine 上の Golang アプリケーションでパスワードを保護するにはどうすればよいですか?App Engine 上の Golang アプリケーションでパスワードを保護するにはどうすればよいですか?

30Oct2024

App Engine 上の Golang でパスワードを保護するWeb アプリケーションのパスワード ハッシュに関しては、セキュリティが最も重要です。人気の図書館ですが...

iTextSharp を使用してテキストの書式設定情報 (フォント、サイズなど) を抽出するにはどうすればよいですか?iTextSharp を使用してテキストの書式設定情報 (フォント、サイズなど) を抽出するにはどうすればよいですか?

11Jan2025

iTextSharp でテキストの書式設定を行うにはどうすればよいですか?はい、iTextSharp でテキストの書式設定を行うことができます。図書館では次のようなサービスを提供しています...

無料のjqueryオンラインエディター無料のjqueryオンラインエディター

05Mar2025

JSFiddle:便利なオンラインjQueryコードエディター JSFiddleは、開発者がjQueryコードを書き、テスト、デバッグすることを促進する強力なオンラインエディターです。それは、HTML、CSS、およびJavaScript/jQueryコードの入力にそれぞれ使用され、結果をリアルタイムで表示するために使用されるスプリットスクリーンインターフェイスを使用します。これは、非個人的なコンピューターでコードをテストしたり、異なるjQueryバージョン間のコードの違いを比較したりするのに非常に役立ちます。 JQueryに加えて、Mootools、Prototype、Yui、Glow、Dojo、その他の図書館もサポートしています。 jsfiddleの例 JSFiddle FAQ JSFiddleおよびその他のオンライン

PINIAのコア概念を説明する:店、州、ゲッター、アクション。PINIAのコア概念を説明する:店、州、ゲッター、アクション。

26Mar2025

この記事では、vue.jsの州管理図書館であるPiniaについて説明し、そのコアコンセプト、ストア、州、ゲッター、アクションに焦点を当てています。 Piniaを使用するためのベストプラクティスを探索し、GettersをVue.js計算プロパティと対比し、強調します

See all articles