search
HomePHP LibrariesOther librarieshtmlpurifierPHP filtering library
htmlpurifierPHP filtering library

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

According to ThinkPHP specifications, for third-party extensions that do not comply with ThinkPHP development specifications, HTMLPurifier needs to be placed in the Library/Vendor directory middle. Then we can introduce HTMLPurifier.auto.php into the framework program through the following method:

1

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

However, I am using ThinkPHP 3.2.1 here and found that this method can only be used in functions. This introduction into the controller class cannot be correctly recognized. In other words, we can only reference it in the common/function.php file.

Create HTMLPurifier object and implement rich text filtering

1

2

3

$config = HTMLPurifier_Config::createDefault();

$purifier = new HTMLPurifier($config);

$clean_html = $purifier->purify($dirty_html);

How to configure the HTMLPurifier filter

To use HTMLPurifier, the focus is still on how to configure it. For the above program, we created a default configuration object through the createDefault() method. If we want to modify the configuration, we can use the set method to configure the settings. The method is as follows:

1

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

The first parameter is the attribute that needs to be configured, the second parameter is the value of the attribute, and the third parameter is specific I haven't figured out what it is used for, but I generally haven't used it. I will study it slowly when I have time.

HTMLPurifier's configuration attributes can be queried through its website

Configuration attribute selection

HTMLPurifier's configuration documents are mainly two-level classifications, and the major categories are Attr (attribute), HTML (html tag), AutoFormat (automatic format), CSS (css configuration), Output (output configuration)... Subcategory selection can be completed by adding the name of the major category. Adding the name of the subcategory.

For example, if I want to configure allowed html tags, such as p tag and a tag, I can configure it as follows

1

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

Selection of attribute values

In the official document, click one After the attribute, you can see the explanation of this attribute. It will tell you that the value type (Type) of this attribute is String, Int, Array, Boolen...

Then it will also tell you the default value of this attribute. , such as NULL, true, false, etc. The format of this value is the same as PHP's format.

Whitelist filtering mechanism

HTMLPurifier uses a whitelist filtering mechanism, and only those that are allowed will pass the test.

Basic filtering example

a. Filter out all html tags in the text

1

2

3

4

/**

 * 过滤掉所有html标签很简单,原因则在白名单机制完成

 */

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

b. Keep the hyperlink tag a and its href link address attribute, and automatically add target The attribute value is '_blank'

1

2

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

$config->set('HTML.TargetBlank'true);

c, automatically complete the paragraph code and clear out useless empty tags

1

2

3

4

5

6

// 让文本自动添加段落标签,前提是必须允许P标签的使用

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

$config->set('AutoFormat.AutoParagraph'true);

// 清除空标签

$config->set('AutoFormat.RemoveEmpty'true);

……


Disclaimer

All resources on this site are contributed by netizens or reprinted by major download sites. Please check the integrity of the software yourself! All resources on this site are for learning reference only. Please do not use them for commercial purposes. Otherwise, you will be responsible for all consequences! If there is any infringement, please contact us to delete it. Contact information: admin@php.cn

Related Article

Animated Filtering & Sorting with the MixItUp 3 JS LibraryAnimated Filtering & Sorting with the MixItUp 3 JS Library

17Feb2025

MixItUp 3: Web element filtering and sorting tool based on CSS animation MixItUp 3 is a powerful JavaScript library that uses CSS animation to filter and sort web elements, which is ideal for organizing content-rich websites such as portfolios, photo albums, and blogs. Core features of MixItUp 3: Dependency-free: MixItUp 3 does not depend on any other libraries and is easy to use. CSS animation: Use CSS animation to achieve smooth filtering and sorting effects. Highly customizable: Provides rich configuration options, allowing you to customize animation effects, add custom class names, create custom filtering and sorting buttons, and more. Cross-browser

How Do I Link Static Libraries That Depend on Other Static Libraries?How Do I Link Static Libraries That Depend on Other Static Libraries?

13Dec2024

Linking Static Libraries to Other Static Libraries: A Comprehensive ApproachStatic libraries provide a convenient mechanism to package reusable...

How to Silence TensorFlow\'s Debugging Output?How to Silence TensorFlow\'s Debugging Output?

28Oct2024

Suppression of Tensorflow Debugging OutputTensorflow prints extensive information about loaded libraries, found devices, and other debugging data...

How Does jQuery Simplify DOM Manipulation for Web Developers?How Does jQuery Simplify DOM Manipulation for Web Developers?

03Jan2025

Overflow: Hidden and Expansion of HeightjQuery distinguishes itself from other JavaScript libraries through its cross-platform compatibility and...

How to Implement Subquery Filtering in CodeIgniter using Active Record or the Subquery Library?How to Implement Subquery Filtering in CodeIgniter using Active Record or the Subquery Library?

22Nov2024

Subquery Filtering in CodeIgniter: A Query Builder ApproachThe task at hand is to translate the following SQL query into CodeIgniter's active...

Which native Java image processing library is right for you?Which native Java image processing library is right for you?

30Oct2024

Native Java Image Processing Libraries for High-Quality ResultsAs you have encountered limitations with ImageMagick and JAI, let's explore other...

See all articles