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
関連記事
21 Jun 2023
デジタル時代の到来に伴い、図書館は徐々にデジタル変革を実現し、従来の紙ベースの管理からデジタル管理に徐々に移行しています。デジタル管理の過程で、Web サイト アプリケーションを使用して図書館を管理することは、図書館が書籍、貸出記録、ユーザー アカウント、その他の情報をより適切に管理できるため、非常に一般的な方法になりました。 Yii フレームワークを使用して図書館 Web サイトを作成することは、非常に簡単かつ効果的な方法になりました。この記事では、Yii フレームワークを使用して図書館 Web サイトを作成する方法を紹介します。 Y
13 Jun 2016
図書館管理システムの管理者を確認する問題について、私はPHPの初心者で、研究書にある図書館管理システムのソースコード一式をwamp5の統合環境にインストールしました。 MYSQL の DATA フォルダーとその他の設定が完了すると、login.php インターフェイスのアカウントとパスワードが正しい場合でも、チェックログ コードを投稿するのを手伝ってください。 <?phps
29 Jul 2016
図書館管理システムの使用例図: 図書館管理システムの使用例図 図書館管理プログラム (1): このレベルのプログラムで使用されるデータ テーブル構造: # ------------------- --- ---------------------------------- # # データテーブル構造 'author' # CREATE TABLE author ( author_id int (6) DEFAULT '0' NOT NULL auto_increment、first_name varchar(20)
08 May 2023
フロントエンド開発者として、新しいテクノロジーを学ぶことは不可欠です。その中でも、Vue.js は現在最も人気のある JavaScript フレームワークの 1 つですが、関連する書籍は図書館にありますか?この記事では、図書館で Vue.js の書籍を検索する方法を紹介します。まず、私たちの街の公立図書館に行きます。公共図書館は、幅広い書籍や学術雑誌を提供する貴重なリソースです。図書館の Web サイトにログインし、検索エンジンを使用して Vue.js に関連する書籍を見つけることができます。第二に、学校を見つけることができます
02 Nov 2023
C++ を使用してシンプルなライブラリ管理システムを実装するにはどうすればよいですか?図書館は知識と文化を広める重要な場所であり、効率的な図書館管理システムは図書館の運営効率を向上させ、読者が本の貸し出しや図書館リソースの管理を容易にします。この記事では、C++ プログラミング言語を使用して簡単なライブラリ管理システムを実装する方法を紹介します。まず、システムに必要な基本的なデータ構造を定義する必要があります。図書館管理システムでは、最も基本的なデータ構造は書籍とリーダーです。それらを表す 2 つのクラスを作成できます。本
29 Jul 2016
図書館管理システムのソース コード: 図書館管理システムのソース コード php ランダムな検証コードの生成コード イメージ コード: 次のようにコードをコピーします: <?php /** デフォルトのホームページ**/ class DefaultController extends AppController { public functionindex() { $len = 5 ; $str = "ABCDEFGHIJKLNMPQRSTUVWXYZ123456789"; $im = imagecreatetruecolor ( 70, 20 );
ホットツール Tags
Hot Tools
依存関係注入コンテナー用の PHP ライブラリ
依存関係注入コンテナー用の PHP ライブラリ
50 個の優れた古典的な PHP アルゴリズムのコレクション
古典的な PHP アルゴリズム、優れたアイデアを学び、思考を広げます
画像を最適化するための小さな PHP ライブラリ
画像を最適化するための小さな PHP ライブラリ