Can php delete div?
php can delete div.
Summarize the method of deleting html tags and the content within the tags in PHP
People who often steal other people’s website articles;
I am Refers to the kind of batch collection that does not read the content at all;
Invariably, the function of deleting html tags is used;
Here are three methods for different purposes;
$str='';
1: Delete all or keep the specified html tags
The function strip_tags that comes with php can meet the requirements,
Usage method:
strip_tags(string,allow);
string: the string that needs to be processed;
allow: the specified tag that needs to be retained, you can write multiple;
echo strip_tags($str,'
The advantage of this function is that it is simple and crude;
But the shortcomings are also obvious;
If there are a lot of tags;
And I just want to delete a specified one;
It will take a lot to write and need to be retained tag;
So there is a second method;
2: Delete the specified html tag
Usage method: strip_html_tags($tags,$str);
$tags: Tags that need to be deleted (array format)
$str: String that needs 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); //输出:这里是p标签这里是a标签;
3: Delete tags and tag content
Usage: strip_html_tags($tags,$str);
$tags: Tags that need to be deleted (array format)
$str: String that needs to be processed;
function strip_html_tags($tags,$str){ $html=array(); foreach ($tags as $tag) { $html[]='/<'.$tag.'.*?>[\s|\S]*?<\/'.$tag.'>/'; $html[]='/<'.$tag.'.*?>/'; } $data=preg_replace($html,'',$str); return $data; } echo strip_html_tags(array('a','img'),$str); //输出这里是p标签
Many website articles will contain website names and links;
For exampleBai Junyao Blog;
This function is specially designed to treat this kind of problem;
Don’t use this function to collect data from this site;
Otherwise, I guarantee I won’t beat you to death;
4: Ultimate function , delete the specified tag; delete or retain the content in the tag;
Usage method: strip_html_tags($tags,$str,$content);
$tags: Tags that need 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; } //输出;这里是p标签
So much has been said 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 bit colorful to look good;
I mainly used it to make up the picture as the cover of the article;
For more PHP related knowledge, please visitPHP中文网!
The above is the detailed content of Can php delete div?. For more information, please follow other related articles on the PHP Chinese website!