require_once '/path/to/HTMLPurifier.auto.php';
Selon les spécifications ThinkPHP, pour les extensions tierces qui ne sont pas conformes aux spécifications de développement ThinkPHP, HTMLPurifier doit être placé dans le répertoire Library/Vendor. Ensuite, nous pouvons introduire HTMLPurifier.auto.php dans le programme-cadre via la méthode suivante :
vendor('htmlpurifier.library.HTMLPurifier#auto');
Cependant, j'utilise ThinkPHP 3.2.1 ici et j'ai découvert que cette méthode ne peut être utilisée que dans les fonctions, pour les classes de contrôleurs. Une telle introduction ne peut pas être correctement reconnu. Autrement dit, nous ne pouvons le référencer que dans le fichier common/function.php.
Créez un objet HTMLPurifier et implémentez le filtrage de texte enrichi
$config = HTMLPurifier_Config::createDefault(); $purifier = new HTMLPurifier($config); $clean_html = $purifier->purify($dirty_html);
Comment configurer le filtre HTMLPurifier
Pour utiliser HTMLPurifier, l'accent est toujours mis sur la façon de le configurer. Pour le programme ci-dessus, nous avons créé un objet de configuration par défaut via la méthode createDefault(). Si nous souhaitons modifier la configuration, nous pouvons utiliser la méthode set pour configurer les paramètres. La méthode est la suivante :
$config->set('config_object', value, a=null);
Le premier paramètre est l'attribut qui doit être configuré, le deuxième paramètre est la valeur de l'attribut, et quelle est l'utilisation spécifique du troisième paramètre ? Je ne l'ai pas encore compris, mais je ne l'ai pas utilisé en général, je l'étudierai lentement quand j'aurai le temps.
Les attributs de configuration de HTMLPurifier peuvent être interrogés via son site Web
Sélection des attributs de configuration
Les documents de configuration de HTMLPurifier sont principalement classés en deux niveaux. Les principales catégories sont Attr (attribut), HTML (balise html), AutoFormat (format automatique), CSS. (configuration css), Sortie (configuration de sortie)... La sélection des sous-catégories peut être complétée en ajoutant le nom de la catégorie principale. Ajout du nom de la sous-catégorie.
Par exemple, si je souhaite configurer les balises html autorisées, telles que les balises p et a, je peux le configurer comme suit
$config->set('HTML.Allowed', 'p,a');
Sélection des valeurs d'attribut
Dans le document officiel, après avoir cliqué sur un attribut, vous pouvez voir l'explication de cet attribut, Il vous dira que le type de valeur (Type) de cet attribut est String, Int, Array, Boolen...
Ensuite il vous indiquera également la valeur par défaut de cet attribut, comme NULL , vrai, faux, etc. Le format de cette valeur est le même que celui de PHP.
Mécanisme de filtrage de liste blanche
HTMLPurifier utilise un mécanisme de filtrage de liste blanche, et seuls ceux qui sont autorisés par le paramètre passeront l'inspection.
Exemple de filtrage de base
a, filtrez toutes les balises html dans le texte
/** * 过滤掉所有html标签很简单,原因则在白名单机制完成 */ $config->set('HTML.Allowed', '');
b, conservez la balise de lien hypertexte a et son attribut d'adresse de lien href, et ajoutez automatiquement la valeur de l'attribut cible comme '_blank'
$config->set('HTML.Allowed', 'a[href]'); $config->set('HTML.TargetBlank', true);
c, Complétez automatiquement le code du paragraphe et supprimez les balises vides inutiles
// 让文本自动添加段落标签,前提是必须允许P标签的使用 $config->set('HTML.Allowed', 'p'); $config->set('AutoFormat.AutoParagraph', true); // 清除空标签 $config->set('AutoFormat.RemoveEmpty', true); ……
Toutes les ressources de ce site proviennent d'internautes ou sont réimprimées par les principaux sites de téléchargement. Veuillez vérifier vous-même l'intégrité du logiciel ! Toutes les ressources de ce site sont uniquement à titre de référence d'apprentissage. Merci de ne pas les utiliser à des fins commerciales. Sinon, vous serez responsable de toutes les conséquences ! En cas d'infraction, veuillez nous contacter pour la supprimer. Coordonnées : admin@php.cn
Article connexe
17Dec2024
Création d'une bibliothèque statique liée à d'autres bibliothèques statiquesLors de la création d'une bibliothèque statique qui s'appuie sur des dépendances de plusieurs autres...
27Dec2016
Les bibliothèques de liens dynamiques sont un moyen de mettre en œuvre le concept de bibliothèques de fonctions partagées. L'extension est ".dll". Les bibliothèques de liens dynamiques permettent à un processus d'appeler des fonctions qui ne font pas partie de son code exécutable.
17Dec2024
Examiner la distinction : bibliothèques statiques et bibliothèques partagéesLes bibliothèques statiques et partagées jouent un rôle crucial dans le développement de logiciels, offrant...
03Nov2024
Bibliothèques mathématiques de précision arbitraire : choix essentiels pour gérer les calculs de grands nombres entiersLes bibliothèques mathématiques de précision arbitraire fournissent des informations inestimables...
20Dec2024
Comment intégrer des bibliothèques externes dans Visual Studio 2012L'inclusion de bibliothèques dans les projets Visual Studio 2012 permet aux développeurs de tirer parti de...
28Nov2024
Comprendre les différences entre les bibliothèques .so et .dylib sur macOSDans l'écosystème macOS, l'utilisation de bibliothèques dynamiques est vitale pour le code...
Hot Tools
Bibliothèque PHP pour les conteneurs d'injection de dépendances
Bibliothèque PHP pour les conteneurs d'injection de dépendances
Une collection de 50 excellents algorithmes PHP classiques
Algorithme PHP classique, apprenez d'excellentes idées et élargissez votre réflexion
Petite bibliothèque PHP pour optimiser les images
Petite bibliothèque PHP pour optimiser les images