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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
b. Keep the hyperlink tag a and its href link address attribute, and automatically add target The attribute value is '_blank'
1 2 |
|
c, automatically complete the paragraph code and clear out useless empty tags
1 2 3 4 5 6 |
|
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 Library](/static/imghwm/default1.png)
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?](/static/imghwm/default1.png)
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?](/static/imghwm/default1.png)
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?](/static/imghwm/default1.png)
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?](/static/imghwm/default1.png)
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?](/static/imghwm/default1.png)
30Oct2024
Native Java Image Processing Libraries for High-Quality ResultsAs you have encountered limitations with ImageMagick and JAI, let's explore other...
![](/static/imghwm/default1.png)
![](/static/imghwm/default1.png)
Hot Tools
![PHP library for dependency injection containers](/static/imghwm/default1.png)
PHP library for dependency injection containers
PHP library for dependency injection containers
![A collection of 50 excellent classic PHP algorithms](/static/imghwm/default1.png)
A collection of 50 excellent classic PHP algorithms
Classic PHP algorithm, learn excellent ideas and expand your thinking
![Small PHP library for optimizing images](/static/imghwm/default1.png)
Small PHP library for optimizing images
Small PHP library for optimizing images
![](/static/imghwm/default1.png)