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
28 Oct 2024
Unterdrückung der Tensorflow-Debugging-AusgabeTensorflow gibt umfangreiche Informationen über geladene Bibliotheken, gefundene Geräte und andere Debugging-Daten aus ...
24 Oct 2024
Dieser Artikel führt Entwickler zum Erstellen statischer Bibliotheken in C mit g an. Es zeigt, wie man Quellcode in Objektdateien kompiliert, statische Bibliotheken erstellt und diese in andere Projekte integriert. Durch die Nutzung dieses Ansatzes können Entwickler
03 Nov 2024
„Warten Sie … es gibt andere Python-Bibliotheken als Pandas und NumPy?“ Wenn Sie das gerade gedacht haben: Willkommen im Club! Sicher, Pandas und NumPy sind großartig, aber es gibt eine ganze Welt unterschätzter Python-Bibliotheken, die Sie wie einen Programmier-Experten aussehen lassen können
13 Dec 2024
Wir haben kürzlich unser Basis-Framework auf Springboot 3.3.5 und andere verwandte Bibliotheken aktualisiert. Während des Tests wurde mir ein Fehler gemeldet. Einige Abfragen würden mit JSqlParser 5.0 fehlschlagen. Hier ist eine einfache Demonstration: öffentlicher Klassentest { öffentliche statische Vo
30 Sep 2016
Auf der Suche nach einem PHP/Python-Bibliotheksverwaltungsprogramm (ähnlich der Baidu-Bibliothek, die doc/pdf und andere Bibliotheken verwaltet) ~~ Es muss hauptsächlich über Suchfunktionen verfügen, insbesondere Funktionen zum Abrufen der Dateiklassifizierung/Datei-Tags, keine Online-Konvertierung erforderlich, online Stöbern!
13 Dec 2024
Verknüpfen statischer Bibliotheken mit anderen statischen Bibliotheken: Ein umfassender AnsatzStatische Bibliotheken bieten einen praktischen Mechanismus zum Verpacken wiederverwendbarer...
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