Home > php教程 > php手册 > The difference between php using htmlspecialchars() and strip_tags functions to filter HTML tags

The difference between php using htmlspecialchars() and strip_tags functions to filter HTML tags

WBOY
Release: 2016-10-08 16:04:43
Original
1674 people have browsed it

Original address: http://www.manongjc.com/article/1103.html

First, let’s take a look at the usage examples of htmlspecialchars function and strip_tags function:

<?<span style="color: #000000;">php  
</span><span style="color: #800080;">$str</span>="<a href='http://www.manongjc.com'>码农教程'\"</a>"<span style="color: #000000;">;  
</span><span style="color: #0000ff;">echo</span> <span style="color: #008080;">htmlspecialchars</span>(<span style="color: #800080;">$str</span><span style="color: #000000;">);  
</span><span style="color: #0000ff;">echo</span> "<br/><br/>"<span style="color: #000000;">;  
</span><span style="color: #0000ff;">echo</span> <span style="color: #008080;">strip_tags</span>(<span style="color: #800080;">$str</span><span style="color: #000000;">);  
</span>?> 
Copy after login

The browser outputs the following results:

<a href='http://www.manongjc.com'>码农教程'<span style="color: #000000;">"</a>  
  
码农教程</span>'"  
Copy after login

View the page source code, the results are as follows:

<span style="color: #0000ff;"><</span><span style="color: #800000;">a </span><span style="color: #ff0000;">href</span><span style="color: #0000ff;">='http://www.manongjc.com'</span><span style="color: #0000ff;">></span>码农教程'"<span style="color: #0000ff;"></</span><span style="color: #800000;">a</span><span style="color: #0000ff;">><</span><span style="color: #800000;">br</span><span style="color: #0000ff;">/><</span><span style="color: #800000;">br</span><span style="color: #0000ff;">/></span>码农教程'" 
Copy after login

From the results, we can see that the difference between htmlspecialchars() and strip_tags is as follows:

Difference 1:

strip_tags function is used to remove HTML tags, while htmlspecialchars does not remove html tags, but only converts tags into HTML instances, so the biggest difference between the two is that one is to delete HTML tags, and the other is to convert html tags into other character.

Difference 2:

If the tags in the string that need to be removed from the HTML tags are originally wrong, for example, the greater than symbol is missing, an error will be returned when using the strip_tags function, while there will be no errors in htmlspecialchars, and it will still be converted into an HTML entity.

Difference three:

When preventing XSS attacks, it is generally recommended to use the htmlspecialchars function, because although strip_tags can delete HTML tags, it will not delete " or '. Therefore, even if you use strip_tags, you still need to use the htmlspecialchars function to filter out " or ' '

In form submission or user message board, if you want the original data output to be sent to the browser, then please use the htmlspecialchars function instead of the strip_tags function.

Please refer to reading about htmlspecialchars() and strip_tags functions:

http://www.manongjc.com/article/1213.html

http://www.manongjc.com/article/1099.html

http://www.manongjc.com/article/795.html

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template