Heim PHP-Bibliotheken Andere Bibliotheken htmlpurifierPHP-Filterbibliothek
htmlpurifierPHP-Filterbibliothek

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

Gemäß den ThinkPHP-Spezifikationen muss HTMLPurifier für Erweiterungen von Drittanbietern, die nicht den ThinkPHP-Entwicklungsspezifikationen entsprechen, im Verzeichnis Library/Vendor abgelegt werden. Dann können wir HTMLPurifier.auto.php über die folgende Methode in das Rahmenprogramm einführen:

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

Allerdings verwende ich hier ThinkPHP 3.2.1 und habe festgestellt, dass diese Methode nur in Funktionen und für Controller-Klassen verwendet werden kann. Eine solche Einführung ist nicht möglich richtig erkannt. Mit anderen Worten, wir können nur in der Datei common/function.php darauf verweisen.

Erstellen Sie ein HTMLPurifier-Objekt und implementieren Sie Rich-Text-Filterung

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

So konfigurieren Sie den HTMLPurifier-Filter

Um HTMLPurifier zu verwenden, liegt der Fokus immer noch auf der Konfiguration. Für das obige Programm haben wir über die Methode createDefault() ein Standardkonfigurationsobjekt erstellt. Wenn wir die Konfiguration ändern möchten, können wir die Einstellungen mit der Set-Methode konfigurieren. Die Methode lautet wie folgt:

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

Der erste Parameter ist das Attribut, das konfiguriert werden muss, der zweite Parameter ist der Wert des Attributs. Und was ist der konkrete Nutzen des dritten Parameters? Ich habe ihn noch nicht herausgefunden, aber ich habe ihn im Allgemeinen nicht verwendet. Ich werde ihn langsam studieren, wenn ich Zeit habe.

HTMLPurifiers Konfigurationsattribute können über seine Website abgefragt werden

Konfigurationsattributauswahl

HTMLPurifiers Konfigurationsdokumente sind hauptsächlich in zwei Ebenen unterteilt: Attr (Attribut), HTML (HTML-Tag), AutoFormat (automatisches Format), CSS (CSS-Konfiguration), Ausgabe (Ausgabekonfiguration) ... Die Auswahl der Unterkategorie kann durch Hinzufügen des Namens der Hauptkategorie abgeschlossen werden.

Wenn ich beispielsweise zulässige HTML-Tags wie p-Tags und a-Tags konfigurieren möchte, kann ich es wie folgt konfigurieren

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

Auswahl von Attributwerten

Im offiziellen Dokument können Sie dies tun, nachdem Sie auf ein Attribut geklickt haben Sehen Sie sich die Erklärung dieses Attributs an. Dort erfahren Sie, dass der Werttyp (Typ) dieses Attributs String, Int, Array, Boolen ... ist.

Dann wird Ihnen auch der Standardwert dieses Attributs angezeigt, z. B. NULL , wahr, falsch usw. Das Format dieses Werts ist das gleiche wie das PHP-Format.

Whitelist-Filtermechanismus

HTMLPurifier verwendet einen Whitelist-Filtermechanismus und nur diejenigen, die von der Einstellung zugelassen werden, bestehen die Prüfung.

Einfaches Filterbeispiel

a, alle HTML-Tags im Text herausfiltern

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

b, das Hyperlink-Tag a und sein href-Link-Adressattribut beibehalten und den Zielattributwert automatisch als „_blank“ hinzufügen

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

c, Vervollständigen Sie automatisch den Absatzcode und löschen Sie unnötige leere Tags

// 让文本自动添加段落标签,前提是必须允许P标签的使用
$config->set('HTML.Allowed', 'p');
$config->set('AutoFormat.AutoParagraph', true);
// 清除空标签
$config->set('AutoFormat.RemoveEmpty', true);
……


Haftungsausschluss

Alle Ressourcen auf dieser Website werden von Internetnutzern bereitgestellt oder von großen Download-Sites nachgedruckt. Bitte überprüfen Sie selbst die Integrität der Software! Alle Ressourcen auf dieser Website dienen nur als Referenz zum Lernen. Bitte nutzen Sie diese nicht für kommerzielle Zwecke. Andernfalls sind Sie für alle Folgen verantwortlich! Wenn ein Verstoß vorliegt, kontaktieren Sie uns bitte, um ihn zu löschen. Kontaktinformationen: admin@php.cn

Verwandter Artikel

Verwenden Sie jquery.noConflict(), um das Problem von Konflikten zwischen der JQuery-Bibliothek und anderen Bibliotheken zu lösen Verwenden Sie jquery.noConflict(), um das Problem von Konflikten zwischen der JQuery-Bibliothek und anderen Bibliotheken zu lösen

20 Jun 2017

Bei der Entwicklung mit jQuery können Sie auch andere JS-Bibliotheken wie Prototype verwenden. Wenn jedoch mehrere Bibliotheken nebeneinander existieren, können Sie diese durch die folgenden Lösungen lösen: 1. jQuery-Bibliotheken in andere importieren Verwenden Sie die jQuery-Methode (Rückruf) direkt, z. B.:

So verwenden Sie das Pip-Tool in Python So verwenden Sie das Pip-Tool in Python

02 Jul 2019

Wenn Sie nach der Installation von Python einige andere Bibliotheken installieren müssen, gibt es im Allgemeinen zwei Methoden: Eine besteht darin, sie manuell von der offiziellen Website der einzelnen Bibliotheken herunterzuladen. Die andere Methode besteht darin, Pip einfach zu installieren Bibliotheken. Nach der Installation von pip können Sie Bibliotheken von Drittanbietern direkt über Befehle installieren und löschen.

Was sind Linux-Abhängigkeitspakete? Was sind Linux-Abhängigkeitspakete?

24 Mar 2023

Linux-Abhängigkeitspakete beziehen sich auf „Bibliotheksdateien“. Die meisten Abhängigkeitspakete, einschließlich dynamischer Bibliotheken und statischer Bibliotheken, sind wie andere Betriebssysteme modular aufgebaut, was bedeutet, dass Funktionen voneinander abhängen und einige Funktionen erfordern einige andere Funktionen zur Unterstützung, die die Wiederverwendbarkeit des Codes verbessern können.

Was müssen Sie sonst noch herunterladen, um Python herunterzuladen? Was müssen Sie sonst noch herunterladen, um Python herunterzuladen?

29 Mar 2024

Zum Herunterladen von Python sind die folgenden Komponenten erforderlich: Offizielles Python-Installationsprogramm: Enthält den Python-Interpreter und grundlegende Komponenten. IDE (optional): Bietet Codebearbeitung, Debugging und andere Funktionen. Bibliotheken und Pakete (optional): werden über pip installiert, um bestimmte Aufgaben auszuführen. Versionskontrollsystem (optional): zur Verfolgung von Codeänderungen und zur Zusammenarbeit. Andere Komponenten, die möglicherweise benötigt werden: basierend auf den Projektanforderungen, z. B. bestimmte Bibliotheken, Umgebungsmanager, Datenbank-Client-Bibliotheken, Debugger usw.

Nach dem Vergleich der drei habe ich festgestellt, dass diese JSON-Bibliothek am besten zu verwenden ist. Nach dem Vergleich der drei habe ich festgestellt, dass diese JSON-Bibliothek am besten zu verwenden ist.

26 Jul 2023

In diesem Artikel wird JMH verwendet, um die Leistung mehrerer gängiger JSON-Parsing-Bibliotheken in Java zu testen. Jedes Mal, wenn ich andere im Internet sehe, die sagen, wie gut die Leistung einer bestimmten Bibliothek ist, vernichten sie andere Bibliotheken. Aber Sehen ist besser als Hören. Am vertrauenswürdigsten ist nur, was man selbst getestet hat.

Was sind die Vorteile von Golang? Was sind die Vorteile von Golang?

17 Apr 2020

Vorteile von Golang: Es kann direkt in Maschinencode kompiliert werden und ist nicht auf andere Bibliotheken angewiesen. Die Bereitstellung erfolgt durch einfaches Hochwerfen einer umfangreichen Standardbibliothek -in-Bibliotheken, insbesondere für Netzwerke. Die Bibliothek ist sehr leistungsfähig.

See all articles