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

首頁 PHP 庫 其它類庫 htmlpurifierPHP過濾庫
htmlpurifierPHP過濾庫

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

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

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

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

創(chuàng)建HTMLPurifier對象并實現(xiàn)對富文本的過濾

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

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

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

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

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

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

配置屬性選擇

HTMLPurifier的配置文檔主要是兩級分類,大類分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……

接著還會告訴你這個屬性的默認(rèn)值,比如是NULL還是true還是false等。這個值的格式就跟PHP的格式一樣的。

白名單過濾機制

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

基本過濾事例

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

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

b、保留超鏈接標(biāo)簽a及其href鏈接地址屬性,并自動添加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)系我們刪除。聯(lián)系方式: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)建自定義篩選和排序按鈕等等。 跨瀏覽器

通過過濾構(gòu)建角度數(shù)據(jù)網(wǎng)格 通過過濾構(gòu)建角度數(shù)據(jù)網(wǎng)格

18 Mar 2025

肯德·UI(Kendo UI)可以通過一個大型組件庫將其從基本想法轉(zhuǎn)變?yōu)槌墒斓膽?yīng)用程序。我們對100多個組成部分進行了很好的交談

如何使用 hbm2ddl.auto 通過 Hibernate 自動創(chuàng)建數(shù)據(jù)庫表? 如何使用 hbm2ddl.auto 通過 Hibernate 自動創(chuàng)建數(shù)據(jù)庫表?

15 Dec 2024

使用 Hibernate 自動創(chuàng)建/更新數(shù)據(jù)庫表根據(jù)實體類自動創(chuàng)建或更新數(shù)據(jù)庫表...

可以水平出色的過濾器 可以水平出色的過濾器

25 Feb 2025

本文演示了如何用Microsoft Excel中的列,行或水平過濾數(shù)據(jù)。它提供了有關(guān)過濾不同類型數(shù)據(jù)的全面說明,包括愛好(文本),預(yù)算(數(shù)字)以及名稱或描述(TE)

過濾和鏈接功能JavaScript 過濾和鏈接功能JavaScript

17 Feb 2025

JavaScript 的多功能性:面向?qū)ο?、命令式和函?shù)式編程 JavaScript 的強大之處在于其多功能性,它支持面向?qū)ο缶幊獭⒚钍骄幊毯秃瘮?shù)式編程。開發(fā)者可以根據(jù)項目需求和團隊偏好靈活切換編程范式。 ES5 引入了 map、reduce 和 filter 等原生數(shù)組方法,極大地方便了函數(shù)式編程。其中,filter 方法能夠遍歷數(shù)組中的每個元素,根據(jù)指定的測試條件判斷是否將其添加到新的數(shù)組中。 使用 filter 方法簡化代碼 filter 方法使代碼更簡潔清晰。它遍歷數(shù)組中的每個元素,并

如何理解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í)

See all articles