国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 PHP 函式庫 其它類別庫 htmlpurifierPHP過濾庫
htmlpurifierPHP過濾庫

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

#根據(jù)ThinkPHP的規(guī)範(fàn),對於第三方擴展,不符合ThinkPHP開發(fā)規(guī)範(fàn)的,需要將HTMLPurifier放入Library/Vendor目錄中。然後我們可以在方法中透過下面方法將HTMLPurifier.auto.php引入框架程式中:

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

不過這裡我使用的ThinkPHP 3.2.1,發(fā)現(xiàn)這個方法只能使用在函數(shù)中,對於控制器類別中這樣引入是無法正確辨識的。也就是說,我們只能在common/function.php檔案中引用。

建立HTMLPurifier物件並實作對富文本的過濾

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

如何對HTMLPurifer的過濾器進行配置

要使用HTMLPurifier,重點還是在如何進行設(shè)定。對於上面的程序,我們透過createDefault()方法創(chuàng)建了一個預(yù)設(shè)的配置物件。我們?nèi)绻薷呐渲玫脑?,可以透過set方法來進行配置設(shè)置,方法如下:

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

第一個參數(shù)就是需要配置的屬性,第二個參數(shù)就是屬性的值,第三個參數(shù)具體是做什麼用的我也還沒搞明白,不過一般都沒有用過,等有時間了再慢慢兒來研究研究。

HTMLPurifier的配置屬性可以透過其網(wǎng)站查詢到

配置屬性選擇

HTMLPurifier的設(shè)定檔主要是兩層分類,大類分Attr(屬性)、HTML (html標(biāo)籤)、AutoFormat(自動格式)、CSS(css配置)、Output(輸出配置)…小類選擇透過大類名稱加.加小類名稱可以完成。

例如我要配置允許的html標(biāo)籤,比如說p標(biāo)籤和a標(biāo)籤,可以如下配置

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

屬性值的選擇

在官方文件中,點擊一個屬性後,可以看到這個屬性的解釋,會告訴你這個屬性的值的類型(Type)是String、Int、Array、Boolen……

#接著還會告訴你這個屬性的預(yù)設(shè)值,例如是NULL還是true還是false等。這個值的格式就跟PHP的格式一樣的。

白名單過濾機制

HTMLPurifier使用了白名單過濾機制,只有被設(shè)定允許的才會通過檢驗。

基本過濾範(fàn)例

a、過濾掉文字中的所有html標(biāo)籤

/**
 * 過濾掉所有html標(biāo)簽很簡單,原因則在白名單機制完成
 */
$config->set('HTML.Allowed', '');

b、保留超連結(jié)標(biāo)籤a及其href連結(jié)位址屬性,並自動新增target屬性值為'_blank'

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

c、自動完成段落程式碼並清除掉無用的空白標(biāo)籤

// 讓文本自動添加段落標(biāo)簽,前提是必須允許P標(biāo)簽的使用
$config->set('HTML.Allowed', 'p');
$config->set('AutoFormat.AutoParagraph', true);
// 清除空標(biāo)簽
$config->set('AutoFormat.RemoveEmpty', true);
……


免責(zé)聲明

本站所有資源皆由網(wǎng)友貢獻或各大下載網(wǎng)站轉(zhuǎn)載。請自行檢查軟體的完整性!本站所有資源僅供學(xué)習(xí)參考。請不要將它們用於商業(yè)目的。否則,一切後果都由您負(fù)責(zé)!如有侵權(quán),請聯(lián)絡(luò)我們刪除。聯(lián)絡(luò)方式:admin@php.cn

相關(guān)文章

使用Muditup 3 JS庫進行動畫過濾和分類 使用Muditup 3 JS庫進行動畫過濾和分類

17 Feb 2025

MixItUp 3:基於 CSS 動畫的網(wǎng)頁元素篩選和排序利器 MixItUp 3 是一個強大的 JavaScript 庫,它利用 CSS 動畫實現(xiàn)網(wǎng)頁元素的篩選和排序,非常適合用於整理內(nèi)容豐富的網(wǎng)站,例如作品集、相冊和博客等。 MixItUp 3 的核心功能: 無依賴性: MixItUp 3 不依賴任何其他庫,使用方便。 CSS 動畫: 使用 CSS 動畫實現(xiàn)流暢的篩選和排序效果。 高度可定制: 提供豐富的配置選項,可以自定義動畫效果、添加自定義類名、創(chuàng)建自定義篩選和排序按鈕等等。 跨瀏覽器

如何使用 hbm2ddl.auto 透過 Hibernate 自動建立資料庫表? 如何使用 hbm2ddl.auto 透過 Hibernate 自動建立資料庫表?

15 Dec 2024

使用 Hibernate 自動建立/更新資料庫表格根據(jù)實體類別自動建立或更新資料庫表格...

Django 查詢集可以按模型屬性過濾嗎? Django 查詢集可以按模型屬性過濾嗎?

17 Oct 2024

按模型屬性過濾 Django 查詢集:了解限制雖然 Django 查詢集提供了廣泛的過濾功能,但它們無法直接按模型屬性進行過濾。屬性是模型類別和計算中定義的自訂屬性

如何理解WordPress動作和過濾優(yōu)先級 如何理解WordPress動作和過濾優(yōu)先級

13 Aug 2025

理解WordPress的action和filter優(yōu)先級,其實就是在搞清楚“什麼時候該做什麼事”。在WordPress開發(fā)中,action和filter是鉤子(hook)的兩種類型,它們允許你在特定時機插入自己的代碼。而優(yōu)先級(priority)決定了這些鉤子的執(zhí)行順序。默認(rèn)情況下,如果你不指定priority,它會使用默認(rèn)值10。但當(dāng)你需要控制多個鉤子之間的執(zhí)行先後時,priority就變得很重要了。 Action和Filter的基本區(qū)別Action:是在某個事件發(fā)生時執(zhí)

為什麼要從 Python 中的「object」繼承:一個類別繼承問題 為什麼要從 Python 中的「object」繼承:一個類別繼承問題

24 Dec 2024

了解 Python 類別繼承在 Python 中,類別可以從其他類別繼承,這使它們能夠存取父類別的屬性並...

如何僅透過一次資料庫檢索 PHP/MySQL 中的分層類別資料? 如何僅透過一次資料庫檢索 PHP/MySQL 中的分層類別資料?

23 Oct 2024

本文介紹了一種在 PHP/MySQL 中使用鄰接清單模型儲存分層資料(例如類別和子類別)的方法。它提出了一種一次性資料檢索演算法,可以使用單一資料有效地獲取分層資料。

See all articles