現在位置: ホームページ > ダウンロードサイト > クラスライブラリのダウンロード > その他の図書館 > htmlpurifierPHP フィルタリング ライブラリ
htmlpurifierPHP フィルタリング ライブラリ
分類する: クラスライブラリのダウンロード / その他の図書館 | リリース時間: 2017-12-19 | 訪問: 4367 |
ダウンロード: 80 |
最新のダウンロード
ファンタジー水族館
ドールズフロントライン
星の翼
小さな花の妖精フェアリーパラダイス
レストランキュートストーリー
山河旅行探訪
「愛とプロデューサー」
最強の頭脳 3
オッドダスト:ダミラ
若き西遊記2
24時間リーダーボードの閲覧
- 1 Hugo ブログに画像を挿入すると 404 エラーが発生するのはなぜですか?
- 2 dsetup16.dll - dsetup16.dll とは?
- 3 dtrsve.dll - dtrsve.dll とは何ですか?
- 4 dxcodex.ocx - dxcodex.ocx とは何ですか?
- 5 共有オブジェクトを変更するとき、std::shared_ptr はスレッドセーフですか?
- 6 dsbho_02.dll - dsbho_02.dll とは?
- 7 Java アプリの起動時間とメモリ使用量を最大で削減する戦略
- 8 MySQL イベントの作成が「SQL 構文にエラーがあります」というメッセージで失敗するのはなぜですか?
- 9 私の Sass ファイルが「無効な CSS: 予期された式」エラーをスローするのはなぜですか?
- 10 期待どおりに縮小しないのはなぜですか?削除できない min-width: min-content の問題があるようです。
- 11 dwin0008.dll - dwin0008.dll とは?
- 12 Javaの静的ネストクラスと非静的ネストクラスの主な違いは何ですか?
- 13 X Empire の価格が新しい ATH に急騰: 知っておくべきことは次のとおりです
- 14 dwpp.dll - dwpp.dll とは?
- 15 Go インターフェイス メソッドの戻り値の型によってコンパイル エラーが発生するのはなぜですか?
最新のチュートリアル
-
- 海外のWeb開発フルスタックコースの完全なコレクション
- 1716 2024-04-24
-
- Go言語実践GraphQL
- 1999 2024-04-19
-
- 550W ファンマスターが JavaScript をゼロから段階的に学習します
- 3417 2024-04-18
-
- Python マスター Mosh、基礎知識ゼロの初心者でも 6 時間で始められる
- 2948 2024-04-10
-
- MySQL 入門 (教師モッシュ)
- 1803 2024-04-07
-
- Mock.js | Axios.js | Json | Ajax -- 10 日間の質の高いクラス
- 2616 2024-03-29
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); ……