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); ……
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
20Jun2017
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.:
02Jul2019
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.
24Mar2023
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.
29Mar2024
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.
26Jul2023
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.
17Apr2020
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.
Hot Tools
PHP-Bibliothek für Abhängigkeitsinjektionscontainer
PHP-Bibliothek für Abhängigkeitsinjektionscontainer
Eine Sammlung von 50 hervorragenden klassischen PHP-Algorithmen
Klassischer PHP-Algorithmus, lernen Sie hervorragende Ideen und erweitern Sie Ihr Denken
Kleine PHP-Bibliothek zur Optimierung von Bildern
Kleine PHP-Bibliothek zur Optimierung von Bildern