Home > Article > Backend Development > How to clear html tags in php?
php method to clear html tags: 1. Use strip_tags() function to clear html tags, syntax "strip_tags(string)"; 2. Use strip_html_tags() function to delete specified html tags, this function can optionally delete Or keep the content within the tag.
Those who often pick up articles from other people’s websites; I mean those who collect in batches without reading the content at all; they will inevitably use the deletion of html tags Function; here are 3 methods for different purposes;
$str='<p><p>这里是p标签</p><img src="" alt="这里是img标签"><a href="">这里是a标签</a><br></p>';
1. Delete all or keep the specified html tags
The function strip_tags that comes with php can meet the requirements ,
strip_tags() function strips the HTML, XML and PHP tags in the string and returns the stripped string. [Recommended: "PHP Video Tutorial"]
Usage:
strip_tags(string,allow);
string: The string that needs to be processed;
allow: Specified tags that need to be retained, you can write multiple;
Example 1:
echo strip_tags($str); //输出:这里是p标签这里是a标签
Example 2:
echo strip_tags($str,'<p><a>'); //输出:<p>这里是p标签</p><a href="">这里是a标签</a>
The advantage of this function is that it is simple and crude;
But the disadvantage is also obvious;
If there are a lot of tags;
And I just want to delete the specified one A certain one;
That requires writing a lot of tags that need to be retained;
So there is a second method;
2. Delete the specified html tag
Usage:
strip_html_tags($tags,$str);
$tags: tags to be deleted (array format)
$str: required The string to be processed;
function strip_html_tags($tags,$str){ $html=array(); foreach ($tags as $tag) { $html[]="/(<(?:\/".$tag."|".$tag.")[^>]*>)/i"; } $data=preg_replace($html, '', $str); return $data; } echo strip_html_tags(array('p','img'),$str); //输出:<div>这里是p标签<a href="">这里是a标签</a><br></div>;
Many website articles will contain the website name and link;
For example,
<a href="http://www.php.cn">php中文网</a>;
This function is designed to handle this ;
Don’t use this function to collect this site;
Otherwise, I guarantee that I won’t beat you to death;
3. The ultimate function, delete the specified tag; delete or keep Content within the tag;
Usage:
strip_html_tags($tags,$str,$content);
$tags: Tags to be deleted (array format)
$str: the string that needs to be processed;
$ontent: whether to delete the content in the tag 0 retain the content 1 do not retain the content
/** * 删除指定标签 * * @param array $tags 删除的标签 数组形式 * @param string $str html字符串 * @param bool $content true保留标签的内容text * @return mixed */ function stripHtmlTags($tags, $str, $content = true) { $html = []; // 是否保留标签内的text字符 if($content){ foreach ($tags as $tag) { $html[] = '/(<' . $tag . '.*?>(.|\n)*?<\/' . $tag . '>)/is'; } }else{ foreach ($tags as $tag) { $html[] = "/(<(?:\/" . $tag . "|" . $tag . ")[^>]*>)/is"; } } $data = preg_replace($html, '', $str); return $data; } //输出<div><p>这里是p标签</p><img src="" alt="这里是img标签"><br></div>;
I have talked so much before;
In fact, this last function is the real thing;
It is not difficult to solve all kinds of difficult and complicated problems of tag deletion in one go;
Don’t look at the screenshot below;
It’s just a little color to look good;
I mainly used it to make up the picture for the cover of the article;
For more programming-related knowledge, please visit: Introduction to Programming! !
The above is the detailed content of How to clear html tags in php?. For more information, please follow other related articles on the PHP Chinese website!