cari
RumahPerpustakaan PHPPerpustakaan lainPustaka penapisan htmlpurifierPHP
Pustaka penapisan htmlpurifierPHP

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

Mengikut spesifikasi ThinkPHP, untuk sambungan pihak ketiga yang tidak mematuhi spesifikasi pembangunan ThinkPHP, HTMLPurifier perlu diletakkan dalam direktori Library/Vendor. Kemudian kita boleh memperkenalkan HTMLPurifier.auto.php ke dalam program rangka kerja melalui kaedah berikut:

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

Walau bagaimanapun, saya menggunakan ThinkPHP 3.2.1 di sini dan mendapati kaedah ini hanya boleh digunakan dalam fungsi, untuk kelas pengawal Pengenalan sedemikian tidak boleh diiktiraf dengan betul. Dalam erti kata lain, kami hanya boleh merujuknya dalam fail common/function.php.

Buat objek HTMLPurifier dan laksanakan penapisan teks kaya

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

Cara mengkonfigurasi penapis HTMLPurifier

Untuk menggunakan HTMLPurifier, tumpuan masih pada cara mengkonfigurasinya. Untuk program di atas, kami mencipta objek konfigurasi lalai melalui kaedah createDefault(). Jika kita ingin mengubah konfigurasi, kita boleh menggunakan kaedah set untuk mengkonfigurasi tetapan Kaedahnya adalah seperti berikut:

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

Parameter pertama ialah atribut yang perlu dikonfigurasikan, parameter kedua ialah nilai atribut, dan apakah kegunaan khusus bagi parameter ketiga? Saya belum mengetahuinya, tetapi saya tidak menggunakannya secara umum.

Atribut konfigurasi HTMLPurifier boleh ditanya melalui tapak webnya

Pemilihan atribut konfigurasi

Dokumen konfigurasi HTMLPurifier dikelaskan terutamanya kepada dua peringkat Kategori utama ialah Attr (atribut), HTML (tag html), AutoFormat (format automatik), CSS (konfigurasi css), Output (konfigurasi output)...Pemilihan subkategori boleh dilengkapkan dengan menambah nama kategori utama Menambah nama subkategori.

Sebagai contoh, jika saya ingin mengkonfigurasi tag html yang dibenarkan, seperti tag p dan tag, saya boleh mengkonfigurasinya seperti berikut

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

Pemilihan nilai atribut

Dalam dokumen rasmi, selepas mengklik pada atribut, anda boleh lihat penjelasan atribut ini, Ia akan memberitahu anda bahawa jenis nilai (Jenis) atribut ini ialah String, Int, Array, Boolen...

Kemudian ia juga akan memberitahu anda nilai lalai atribut ini, seperti NULL , benar, salah, dsb. Format nilai ini adalah sama dengan format PHP.

Mekanisme penapisan senarai putih

HTMLPurifier menggunakan mekanisme penapisan senarai putih, dan hanya yang dibenarkan oleh tetapan akan lulus pemeriksaan.

Contoh penapisan asas

a, tapis semua teg html dalam teks

/**
 * 过滤掉所有html标签很简单,原因则在白名单机制完成
 */
$config->set('HTML.Allowed', '');

b, kekalkan teg hiperpautan a dan atribut alamat pautan hrefnya, dan secara automatik menambah nilai atribut sasaran sebagai '_blank'

rreee

c, Lengkapkan kod perenggan secara automatik dan kosongkan tag kosong yang tidak berguna

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


Penafian

Semua sumber di laman web ini disumbangkan oleh netizen atau dicetak semula oleh tapak muat turun utama. Sila semak integriti perisian itu sendiri! Semua sumber di laman web ini adalah untuk rujukan pembelajaran sahaja. Tolong jangan gunakannya untuk tujuan komersial. Jika tidak, anda akan bertanggungjawab untuk semua akibat! Jika terdapat sebarang pelanggaran, sila hubungi kami untuk memadamkannya. Maklumat hubungan: admin@php.cn

Artikel Berkaitan

Bagaimana untuk Mencipta Perpustakaan Statik daripada Berbilang Perpustakaan Statik Lain?Bagaimana untuk Mencipta Perpustakaan Statik daripada Berbilang Perpustakaan Statik Lain?

17Dec2024

Mencipta Perpustakaan Statik yang Berpaut ke Perpustakaan Statik Lain Apabila membina perpustakaan statik yang bergantung pada kebergantungan daripada berbilang yang lain...

Pengepala Perpustakaan Standard C Manakah yang Termasuk Secara Eksplisit Lain?Pengepala Perpustakaan Standard C Manakah yang Termasuk Secara Eksplisit Lain?

01Nov2024

Pengepala yang manakah dalam Perpustakaan Standard C Termasuk Lain-lain? Secara umumnya, pengaturcara tidak seharusnya menganggap bahawa satu pengepala perpustakaan standard C akan...

Bagaimanakah Saya Memautkan Perpustakaan Statik yang Bergantung pada Perpustakaan Statik Lain?Bagaimanakah Saya Memautkan Perpustakaan Statik yang Bergantung pada Perpustakaan Statik Lain?

13Dec2024

Memautkan Perpustakaan Statik ke Perpustakaan Statik Lain: Pendekatan Komprehensif Perpustakaan statik menyediakan mekanisme yang mudah untuk membungkus yang boleh digunakan semula...

Pengepala yang manakah dalam Perpustakaan Standard C Menjamin Fungsi atau Kemasukan Khusus?Pengepala yang manakah dalam Perpustakaan Standard C Menjamin Fungsi atau Kemasukan Khusus?

02Nov2024

Pengepala dalam Perpustakaan Standard C dengan Kemasukan TerjaminDalam perpustakaan standard C, pengepala boleh menyertakan satu sama lain dalam pelbagai cara yang tidak...

Bagaimanakah jQuery Memudahkan Manipulasi DOM untuk Pembangun Web?Bagaimanakah jQuery Memudahkan Manipulasi DOM untuk Pembangun Web?

03Jan2025

Limpahan: Tersembunyi dan Pengembangan HeightjQuery membezakan dirinya daripada perpustakaan JavaScript lain melalui keserasian merentas platform dan...

Bagaimana untuk Mencipta dan Menggunakan Perpustakaan Statik dalam g ?Bagaimana untuk Mencipta dan Menggunakan Perpustakaan Statik dalam g ?

24Oct2024

Artikel ini menyediakan panduan untuk mencipta dan menggunakan perpustakaan statik dalam C menggunakan g . Ia menerangkan langkah-langkah yang terlibat dalam mencipta perpustakaan statik daripada pengepala dan fail sumber, dan menunjukkan cara untuk mengintegrasikan perpustakaan ke dalam atur cara C yang lain.

See all articles