本文章來給大家介紹關於各種PHP去除多余的HTML,Javascrit,Css標簽 方法與實現程序,大家可進入參考。
1.不保留任何HTML標簽,代碼會是這樣:echo strip_tags($str);
2. 只保留<p>一個標簽的話,只需要將<p>字符串寫到strip_tags的第二個參數中,代碼會是這樣:echo strip_tags($str, "<p>");
3. 我們要保留<p>與<b>…多個標簽,只需要將多個標簽用空格分隔後寫到strip_tags的第二個參數中,代碼會是這樣:echo strip_tags($str, "<p> <b>");
4.保留所有標簽,僅僅轉義用addslashes(), stripslashes(), htmlspecialchars(), htmlentities(), nl2br() 等函數.
addslashes(), stripslashes() 一般是入數據庫和出庫的時候使用,以免變量中存儲類似引號這些關鍵詞,這樣的話,本來是內容的部分卻被數據庫識別為標識符來執行,就會引起錯誤.
htmlspecialchars() 函數只用來轉義少量HTML, &,雙引號,大於號和小於號.並不會全部轉換成 HTML 所定的 ASCII 轉換
htmlentities() 本函數有點像 htmlspecialchars() 函數,但本函數會將所有 string 的字符都轉成 HTML 的特殊字集字符串。不過在轉換後閱讀網頁源代碼的方面,會有很多困擾,尤其是網頁源代碼的中文字會變得不知所雲,浏覽器上看到的還是正常的。
自帶函數去除html標記
strip_tags
去掉 HTML 及 PHP 的標記。
語法: string strip_tags(string str);
傳回值: 字串
函式種類: 資料處理
代碼如下 復制代碼
<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new;
?>
函式將特殊字元轉成 HTML 的字串格式 ( &....; )。最常用到的場合可能就是處理客戶留言的留言版了。
& (和) 轉成 &
" (雙引號) 轉成 "
< (小於) 轉成 <
> (大於) 轉成 >
此函式只轉換上面的特殊字元,並不會全部轉換成 HTML 所定的 ASCII 轉換。
這裡只替換 html,js,css
代碼如下 復制代碼function get_enhtml($string){
$pattern=array ("'<script[^>]*?>.*?</script>'si",// 去掉 javascript
"'<style[^>]*?>.*?</style>'si",// 去掉 HTML 標記
"'<[/!]*?[^<>]*?>'si",//去掉 HTML 標記
"'<!--[/!]*?[^<>]*?>'si", // 去掉 注釋標記
"'([rn])[s]+'", // 去掉空白字符
"'&(quot|#34);'i",
"'&(amp|#38);'i",
"'&(lt|#60);'i",
"'&(gt|#62);'i",
"'&(nbsp|#160);'i",
"'&(iexcl|#161);'i",
"'&(cent|#162);'i",
"'&(pound|#163);'i",
"'&(copy|#169);'i",
"'&#(d+);'e");
$replace=array ("", "", "", "", "1", "", "&", "<", ">", " ", chr(161), chr(162), chr(163), chr(169), "chr(1)");
$string=preg_replace($pattern, $replace, $string);
$string=preg_replace("/<(.*?)>/","",$string);
$string=str_replace("n","",$string);
$string=str_replace("r","",$string);
$string=str_replace(" ","",$string);
$string=str_replace(" ","",$string);
return addslashes(trim($string));
}
替換所有html標簽
代碼如下 復制代碼function noHTML($content)
{
$content = preg_replace("/<a[^>]*>/i",'', $content);
$content = preg_replace("/</a>/i", '', $content);
$content = preg_replace("/<div[^>]*>/i",'', $content);
$content = preg_replace("/</div>/i",'', $content);
$content = preg_replace("/<font[^>]*>/i",'', $content);
$content = preg_replace("/</font>/i",'', $content);
$content = preg_replace("/<p[^>]*>/i",'', $content);
$content = preg_replace("/</p>/i",'', $content);
$content = preg_replace("/<span[^>]*>/i",'', $content);
$content = preg_replace("/</span>/i",'', $content);
$content = preg_replace("/<?xml[^>]*>/i",'', $content);
$content = preg_replace("/</?xml>/i",'', $content);
$content = preg_replace("/<o:p[^>]*>/i",'', $content);
$content = preg_replace("/</o:p>/i",'', $content);
$content = preg_replace("/<u[^>]*>/i",'', $content);
$content = preg_replace("/</u>/i",'', $content);
$content = preg_replace("/<b[^>]*>/i",'', $content);
$content = preg_replace("/</b>/i",'', $content);
$content = preg_replace("/<meta[^>]*>/i",'', $content);
$content = preg_replace("/</meta>/i",'', $content);
$content = preg_replace("/<!--[^>]*-->/i",'', $content);//注釋內容
$content = preg_replace("/<p[^>]*-->/i",'', $content);//注釋內容
$content = preg_replace("/style=.+?['|"]/i",'',$content);//去除樣式
$content = preg_replace("/class=.+?['|"]/i",'',$content);//去除樣式
$content = preg_replace("/id=.+?['|"]/i",'',$content);//去除樣式
$content = preg_replace("/lang=.+?['|"]/i",'',$content);//去除樣式
$content = preg_replace("/width=.+?['|"]/i",'',$content);//去除樣式
$content = preg_replace("/height=.+?['|"]/i",'',$content);//去除樣式
$content = preg_replace("/border=.+?['|"]/i",'',$content);//去除樣式
$content = preg_replace("/face=.+?['|"]/i",'',$content);//去除樣式
$content = preg_replace("/face=.+?['|"]/",'',$content);
$content = preg_replace("/face=.+?['|"]/",'',$content);
$content=str_replace( " ","",$content);
return $content;
}