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
関連記事
30 Nov 2024
cURL: PHP の HTTP リクエスト ハンドラー PHP 開発の分野では、「cURL」という用語が頻繁に登場します。それは図書館です...
30 Oct 2024
App Engine 上の Golang でパスワードを保護するWeb アプリケーションのパスワード ハッシュに関しては、セキュリティが最も重要です。人気の図書館ですが...
11 Jan 2025
iTextSharp でテキストの書式設定を行うにはどうすればよいですか?はい、iTextSharp でテキストの書式設定を行うことができます。図書館では次のようなサービスを提供しています...
27 Dec 2024
プレーン JavaScript のテキストから HTML タグを削除する文字列から HTML タグを削除することは、Web 開発における一般的なタスクです。図書館もあるのに…
01 Nov 2024
Go でライブラリ管理システムを構築する この記事では、Go に実装されたライブラリ管理システム (LMS) について調べて、その中核的な機能、設計上の決定事項、主要なコード スニペットに焦点を当てましょう。 図書館管理の主要な機能
13 Jun 2016
Windows での Apache php mysql のインストールと構成図 (最新バージョン)。まずソフトウェアを準備します: Apache 公式ダウンロード アドレス: apache_2.0.55-win32-x86-no_ssl.msi、その他のバージョンはこちら; PHP 公式ダウンロード アドレス: php-5.0.5-Win32.zip、その他のミラー ダウンロード
ホットツール Tags
Hot Tools
依存関係注入コンテナー用の PHP ライブラリ
依存関係注入コンテナー用の PHP ライブラリ
50 個の優れた古典的な PHP アルゴリズムのコレクション
古典的な PHP アルゴリズム、優れたアイデアを学び、思考を広げます
画像を最適化するための小さな PHP ライブラリ
画像を最適化するための小さな PHP ライブラリ