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

How to clear html tags in php?

青灯夜游
青灯夜游Original
2020-11-06 16:49:562773browse

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;;

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,&#39;<p><a>&#39;);
//输出:<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, &#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>;

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[] = &#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>;

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!

Statement:
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
Previous article:How to delete php on mac?Next article:How to delete php on mac?