您的位置 首页 技术

PHP如何去掉HTML标签?

PHP如何去掉HTML标签? 在PHP中可以使用“strip_tags()”函数去掉HTML标签,该函数作用是从字符串中去除HTML和PHP标记,其语法是“strip_tags(s…

PHP如何去掉HTML标签?

在PHP中可以使用“strip_tags()”函数去掉HTML标签,该函数作用是从字符串中去除HTML和PHP标记,其语法是“strip_tags(str) ”,其参数str代表的是要去除标记的字符串,返回值为处理后的字符串。

演示示例

<?php$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';echo strip_tags($text);echo "\n";// 允许 <p> 和 <a>echo strip_tags($text, '<p><a>');?>

以上例程会输出:

Test paragraph. Other text<p>Test paragraph.</p> <a href="#fragment">Other text</a>

使用示例

<?phpfunction strip_tags_content($text, $tags = '', $invert = FALSE) {  preg_match_all('/<(.+?)[\s]*\/?[\s]*>/si', trim($tags), $tags);  $tags = array_unique($tags[1]);     if(is_array($tags) AND count($tags) > 0) {    if($invert == FALSE) {      return preg_replace('@<(?!(?:'. implode('|', $tags) .')\b)(\w+)\b.*?>.*?</\1>@si', '', $text);    }    else {      return preg_replace('@<('. implode('|', $tags) .')\b.*?>.*?</\1>@si', '', $text);    }  }  elseif($invert == FALSE) {    return preg_replace('@<(\w+)\b.*?>.*?</\1>@si', '', $text);  }  return $text;}?>
<?phpfunction stripUnwantedTagsAndAttrs($html_str){  $xml = new DOMDocument();//Suppress warnings: proper error handling is beyond scope of example  libxml_use_internal_errors(true);//List the tags you want to allow here, NOTE you MUST allow html and body otherwise entire string will be cleared  $allowed_tags = array("html", "body", "b", "br", "em", "hr", "i", "li", "ol", "p", "s", "span", "table", "tr", "td", "u", "ul");//List the attributes you want to allow here  $allowed_attrs = array ("class", "id", "style");  if (!strlen($html_str)){return false;}  if ($xml->loadHTML($html_str, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD)){    foreach ($xml->getElementsByTagName("*") as $tag){      if (!in_array($tag->tagName, $allowed_tags)){        $tag->parentNode->removeChild($tag);      }else{        foreach ($tag->attributes as $attr){          if (!in_array($attr->nodeName, $allowed_attrs)){            $tag->removeAttribute($attr->nodeName);          }        }      }    }  }  return $xml->saveHTML();}

推荐教程:《PHP教程》

以上就是PHP如何去掉HTML标签?的详细内容,更多请关注24课堂在线网其它相关文章!

本文来自网络,不代表24小时课堂在线立场,转载请注明出处:https://www.24ketang.cn/78692.html

为您推荐

返回顶部