程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP strip_tags保留多個HTML標簽的方法

PHP strip_tags保留多個HTML標簽的方法

編輯:PHP綜合

本文介紹了PHP strip_tags函數保留多個HTML標簽的方法,可以使用第二個參數來設置不需要刪除的標簽,主要涉及到strip_tags的第二個參數

strip_tags 函數

語法
string strip_tags ( string str [, string allowable_tags] )
返回一個去除了HTML標簽的字符串;可以使用第二個參數來設置不需要刪除的標簽。

使用方法:

前提:假如現在有這樣一個字符串,

復制代碼 代碼如下:
$str = "<p>我來自<b><a href='http://www.jb51.net'></a></b></p>";

1,不保留任何HTML標簽,代碼會是這樣:
復制代碼 代碼如下:
echo strip_tags($str);
// 輸出:我來自

2,只保留<a>一個標簽的話,只需要將<a>字符串寫到strip_tags的第二個參數中:
 
復制代碼 代碼如下:
echo strip_tags($str, "<a>");
// 輸出:我來自<a href='http://www.jb51.net'></a>

3,要保留<p>與<b>…多個標簽,只需要將多個標簽用空格分隔後寫到strip_tags的第二個參數中:
 
復制代碼 代碼如下:
echo strip_tags($str, "<p> <b>");
// 輸出:<p>我來自<b></b></p>

如果要使用php刪除html標記中的特定標簽呢?

這個就需要代碼來實現了,如下:

function strip_selected_tags($text, $tags = array()) {
  $args = func_get_args();
  $text = array_shift($args);
  $tags = func_num_args() > 2 ? array_diff($args, array($text)) : (array) $tags;
  foreach($tags as $tag) {
    if (preg_match_all('/<'.$tag.
        '[^>]*>([^<]*)</'.$tag.
        '>/iu', $text, $found)) {
      $text = str_replace($found[0], $found[1], $text);
    }
  }

  return preg_replace('/(<('.join('|', $tags).
    ')( | |.)*/>)/iu', '', $text);
}

$str = "[url="] 123[/url]";
    echo strip_selected_tags($str, array('b'));

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved