ホームページ 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 リクエストを容易にするのですか?

30 Nov 2024

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

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

30 Oct 2024

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

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

11 Jan 2025

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

プレーンな JavaScript を使用してテキストから HTML タグを効率的に削除する方法 プレーンな JavaScript を使用してテキストから HTML タグを効率的に削除する方法

27 Dec 2024

プレーン JavaScript のテキストから HTML タグを削除する文字列から HTML タグを削除することは、Web 開発における一般的なタスクです。図書館もあるのに…

システム設計: 図書館管理システム システム設計: 図書館管理システム

01 Nov 2024

Go でライブラリ管理システムを構築する この記事では、Go に実装されたライブラリ管理システム (LMS) について調べて、その中核的な機能、設計上の決定事項、主要なコード スニペットに焦点を当てましょう。 図書館管理の主要な機能

Windows での Apache php mysql のインストールと構成図 (最新バージョン) Windows での Apache php mysql のインストールと構成図 (最新バージョン)

13 Jun 2016

Windows での Apache php mysql のインストールと構成図 (最新バージョン)。まずソフトウェアを準備します: Apache 公式ダウンロード アドレス: apache_2.0.55-win32-x86-no_ssl.msi、その他のバージョンはこちら; PHP 公式ダウンロード アドレス: php-5.0.5-Win32.zip、その他のミラー ダウンロード

See all articles