首頁 > 後端開發 > php教程 > php中strip_tags()只過濾字串中某一個標籤的實例分析

php中strip_tags()只過濾字串中某一個標籤的實例分析

黄舟
發布: 2023-03-17 18:32:02
原創
2617 人瀏覽過

我們大家都知道,php strip_tags()函數用來過濾掉字串中html、php、xml標籤,該函數只能保留想要的html標籤,而不能過濾掉指定的html標籤,那麼要如何實現過濾掉指定的html標籤呢?今天我們就帶大家詳細介紹下php中strip_tags()只過濾字串中某一個標籤!

php去掉字串中指定的html標籤,我們不能使用strip_tags()函數,因為這個函數只能保留想要的html標籤,如:

strip_tags($string); //去掉$string字符串中所以的html标签.
strip_tags($string,&#39;<div><img><em>&#39;); //去掉除了<div><img><em>以外的所有标签,即保留字符串中的div、img、em标签。
登入後複製

要實現去掉指定的html標籤,我們只能自己寫一個函數,函數如下:

function strip_only_tags($str, $tags, $stripContent = FALSE) { 
  $content = &#39;&#39;; 
 
  if (!is_array($tags)) { 
    $tags = (strpos($str, &#39;>&#39;) !== false ? explode(&#39;>&#39;, str_replace(&#39;<&#39;, &#39;&#39;, $tags)) : array($tags)); 
    if (end($tags) == &#39;&#39;) { 
      // http://www.manongjc.com/article/1213.html
      array_pop($tags); 
    } 
  } 
 
  foreach($tags as $tag) { 
    if ($stripContent) { 
      $content = &#39;(.+<!--&#39;.$tag.&#39;(-->|s[^>]*>)|)&#39;; 
    } 
 
    $str = preg_replace(&#39;#<!--?&#39;.$tag.&#39;(-->|s[^>]*>)&#39;.$content.&#39;#is&#39;, &#39;&#39;, $str); 
  } 
 
  return $str; 
}
登入後複製

參數介紹:

$str是指需要過濾的字串。

$tags是指要移除的html標籤。

$stripContent表示是否移除標籤內的內容,預設為False,即不刪除標籤內的內容。

使用實例:

<?php
$string=&#39;<div><a href="http://www.manongjc.com">码农教程<em>斜体</em></a><strong>加粗</strong></div>&#39;; 
$target = strip_only_tags($string, array(&#39;a&#39;,&#39;em&#39;));//移除$string字符串内的a、em、b标签。 
var_dump($target);
$target = strip_only_tags($string, array(&#39;em&#39;),true); //移除$string字符串内的a、em、b标签,并移除标签里面的内容
var_dump($target);
?>
登入後複製

總結:

#相信小夥伴們對本文的學習,對php中strip_tags( )只過濾字串中某一個標籤有一定的了解,希望對你的工作有幫助!

相關推薦;

#詳解PHP函數 strip_tags的用法不足之處

################################# ##########PHP常用函數strip_tags的詳細介紹###################php 字串函數strip_tags()用法匯總####### ###

以上是php中strip_tags()只過濾字串中某一個標籤的實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
java - springboot新手學習
來自於 1970-01-01 08:00:00
0
0
0
spring - JavaWeb中 Service 層的事務問題
來自於 1970-01-01 08:00:00
0
0
0
java - C語言演算法題-韓信點兵 解法?
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板