Home > Backend Development > PHP Problem > How to clear html tags in php?

How to clear html tags in php?

青灯夜游
Release: 2023-03-07 13:10:02
Original
2846 people have browsed it

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.

How to clear html tags in php?

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=&#39;<p><p>这里是p标签</p><img src="" alt="这里是img标签"><a href="">这里是a标签</a><br></p>&#39;;
Copy after login

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);
Copy after login
  • 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标签
Copy after login

Example 2:

echo strip_tags($str,&#39;<p><a>&#39;);
//输出:<p>这里是p标签</p><a href="">这里是a标签</a>
Copy after login

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);
Copy after login
  • $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, &#39;&#39;, $str);
    return $data;
}
echo strip_html_tags(array(&#39;p&#39;,&#39;img&#39;),$str);
//输出:<div>这里是p标签<a href="">这里是a标签</a><br></div>;
Copy after login

Many website articles will contain the website name and link;

For example,

<a href="http://www.php.cn">php中文网</a>;
Copy after login

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);
Copy after login
  • $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[] = &#39;/(<&#39; . $tag . &#39;.*?>(.|\n)*?<\/&#39; . $tag . &#39;>)/is&#39;;
        }
    }else{
        foreach ($tags as $tag) {
            $html[] = "/(<(?:\/" . $tag . "|" . $tag . ")[^>]*>)/is";
        }
    }
    $data = preg_replace($html, &#39;&#39;, $str);
    return $data;
}
//输出<div><p>这里是p标签</p><img src="" alt="这里是img标签"><br></div>;
Copy after login

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;

How to clear html tags in php?

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!

Related labels:
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 Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template