国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > PHP > 正文

PHP移除指定HTML標(biāo)簽方法總結(jié)

2024-09-04 11:48:04
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在php中我們最常用的指定HTML標(biāo)簽可以直接使用strip_tags函數(shù)來(lái)替換了,利用它可以過(guò)濾所有的html標(biāo)簽哦,下面我來(lái)給大家介紹除了此函數(shù)之外的其它辦法。

有時(shí)候我們需要把html標(biāo)簽頁(yè)存到數(shù)據(jù)庫(kù)里,但是有些場(chǎng)合卻需要拿無(wú)html標(biāo)簽的純數(shù)據(jù),這個(gè)時(shí)候就要對(duì)帶html標(biāo)簽的數(shù)據(jù)進(jìn)行處理,把html標(biāo)簽都去掉,平時(shí)用 htmlspecialchars() 來(lái)過(guò)濾html,但是把html的字符轉(zhuǎn)義了,最后顯示出來(lái)的就是html源代碼,利用strip_tags()就可以把html標(biāo)簽去除掉.

PHP默認(rèn)的函數(shù)有移除指定html標(biāo)簽,名稱為strip_tags,在某些場(chǎng)合非常有用。

strip_tags

strip_tags — Strip HTML and PHP tags from a string

string strip_tags ( string str [, string allowable_tags] )

弊端:這個(gè)函數(shù)只能保留想要的html標(biāo)簽,就是參數(shù)string allowable_tags,這個(gè)函數(shù)的參數(shù)allowable_tags的其他的用法,代碼如下:

strip_tags($source,”); 去掉所以的html標(biāo)簽。

strip_tags($source,‘<div><img><em>’); 保留字符串中的div、img、em標(biāo)簽。

如果想去掉的html的指定標(biāo)簽,那么這個(gè)函數(shù)就不能滿足需求了,于是乎我用到了這個(gè)函數(shù),代碼如下:

  1. function strip_only_tags($str$tags$stripContent = FALSE) { 
  2.   $content = ''
  3.  
  4.   if (!is_array($tags)) { 
  5.     $tags = (strpos($str'>') !== false ? explode('>'str_replace('<'''$tags)) : array($tags)); 
  6.     if (end($tags) == '') { 
  7.       array_pop($tags); 
  8.     } 
  9.   } 
  10.  
  11.   foreach($tags as $tag) { 
  12.     if ($stripContent) { 
  13.       $content = '(.+<!--'.$tag.'(-->|s[^>]*>)|)'
  14.     } 
  15.  
  16.     $str = preg_replace('#<!--?'.$tag.'(-->|s[^>]*>)'.$content.'#is'''$str); 
  17.   } 
  18.  
  19.   return $str

參數(shù)說(shuō)明

$str — 是指需要過(guò)濾的一段字符串,比如div、p、em、img等html標(biāo)簽。

$tags — 是指想要移除指定的html標(biāo)簽,比如a、img、p等。

$stripContent = FALSE — 移除標(biāo)簽內(nèi)的內(nèi)容,比如將整個(gè)鏈接刪除等,默認(rèn)為False,即不刪除標(biāo)簽內(nèi)的內(nèi)容。

使用說(shuō)明,代碼如下:

  1. $target = strip_only_tags($sourcearray(‘a’,'em’,'b’));移除$source字符串內(nèi)的a、em、b標(biāo)簽。 
  2. $source='<div><a href="" target="_blank"><img src="logo.png" border="0" alt="Welcome to linzl." />This a example from<em>lixiphp</em></a><strong>!</strong></div> 
  3.  '; 
  4. $target = strip_only_tags($sourcearray('a','em')); 
  5.  
  6. //target results 
  7. //<div><img src="/logo.png" border="0" alt="Welcome to lixiphp." />This a example from<strong>!</strong></div> 

其它辦法,代碼如下:

  1. <?php 
  2. //取出br標(biāo)記 
  3. function strip($str
  4. $str=str_replace("<br>","",$str); 
  5. //$str=htmlspecialchars($str); 
  6. return strip_tags($str); 
  7. ?> 

一個(gè)自定義的函數(shù),代碼如下:

  1. ** 
  2.  * 取出html標(biāo)簽 
  3.  *  
  4.  * @access public 
  5.  * @param string str 
  6.  * @return string 
  7.  *  
  8.  */ 
  9. function deletehtml($str) { 
  10.     $str = trim($str); //清除字符串兩邊的空格 
  11.     $str = strip_tags($str,"<p>"); //利用php自帶的函數(shù)清除html格式。保留P標(biāo)簽 
  12.     $str = preg_replace("/t/","",$str); //使用正則表達(dá)式匹配需要替換的內(nèi)容,如:空格,換行,并將替換為空。 
  13.     $str = preg_replace("/rn/","",$str);  
  14.     $str = preg_replace("/r/","",$str);  
  15.     $str = preg_replace("/n/","",$str);  
  16.     $str = preg_replace("/ /","",$str); 
  17.     $str = preg_replace("/  /","",$str);  //匹配html中的空格 
  18.     return trim($str); //返回字符串 
  19. }

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 神木县| 呼伦贝尔市| 谷城县| 无锡市| 游戏| 贡山| 广饶县| 昌吉市| 肃北| 柞水县| 韩城市| 安仁县| 揭东县| 天门市| 沂南县| 隆德县| 丰宁| 阜康市| 宁波市| 灯塔市| 高陵县| 阳城县| 西和县| 福安市| 盐城市| 沙坪坝区| 西乌珠穆沁旗| 永和县| 厦门市| 历史| 应城市| 长丰县| 金乡县| 安康市| 宁明县| 正阳县| 唐山市| 华亭县| 临泉县| 泸西县| 武强县|