本文目錄一覽:
php如何過濾編輯器的html標籤?
選擇1.將特殊符號進行轉換,可以用htmlspecialchars把變為「」等
選擇2.用正則表達式替換,將標籤都刪除:
$content=preg_replace(‘/\.+?\/’,”,$content);
php如何過濾html標籤,使用什麼函數?
strip_tags — 從字元串中去除 HTML 和 PHP 標記
語法:
string strip_tags ( string $str [, string $allowable_tags ] )
該函數返回給定的字元串 str 去除空字元、HTML 和 PHP 標記後的結果。
參數:
str 要去除的字元串
allowable_tags 可選參數,指定不被去除的字元列表。
例如:
$str = ‘a href=”” title=””測試/a’;
echo strip_tags($str);
結果:
測試
用php過濾html部分標籤
$str=preg_replace(“/\s+/”, ” “, $str); //過濾多餘回車
$str=preg_replace(“/[ ]+/si”,””,$str); //過濾__(“”號後面帶空格)
$str=preg_replace(“/\!–.*?–/si”,””,$str); //注釋
$str=preg_replace(“/(\!.*?)/si”,””,$str); //過濾DOCTYPE
$str=preg_replace(“/(\/?html.*?)/si”,””,$str); //過濾html標籤
$str=preg_replace(“/(\/?head.*?)/si”,””,$str); //過濾head標籤
$str=preg_replace(“/(\/?meta.*?)/si”,””,$str); //過濾meta標籤
$str=preg_replace(“/(\/?body.*?)/si”,””,$str); //過濾body標籤
$str=preg_replace(“/(\/?link.*?)/si”,””,$str); //過濾link標籤
$str=preg_replace(“/(\/?form.*?)/si”,””,$str); //過濾form標籤
$str=preg_replace(“/cookie/si”,”COOKIE”,$str); //過濾COOKIE標籤
$str=preg_replace(“/(applet.*?)(.*?)(\/applet.*?)/si”,””,$str); //過濾applet標籤
$str=preg_replace(“/(\/?applet.*?)/si”,””,$str); //過濾applet標籤
$str=preg_replace(“/(style.*?)(.*?)(\/style.*?)/si”,””,$str); //過濾style標籤
$str=preg_replace(“/(\/?style.*?)/si”,””,$str); //過濾style標籤
$str=preg_replace(“/(title.*?)(.*?)(\/title.*?)/si”,””,$str); //過濾title標籤
$str=preg_replace(“/(\/?title.*?)/si”,””,$str); //過濾title標籤
$str=preg_replace(“/(object.*?)(.*?)(\/object.*?)/si”,””,$str); //過濾object標籤
$str=preg_replace(“/(\/?objec.*?)/si”,””,$str); //過濾object標籤
$str=preg_replace(“/(noframes.*?)(.*?)(\/noframes.*?)/si”,””,$str); //過濾noframes標籤
$str=preg_replace(“/(\/?noframes.*?)/si”,””,$str); //過濾noframes標籤
$str=preg_replace(“/(i?frame.*?)(.*?)(\/i?frame.*?)/si”,””,$str); //過濾frame標籤
$str=preg_replace(“/(\/?i?frame.*?)/si”,””,$str); //過濾frame標籤
$str=preg_replace(“/(script.*?)(.*?)(\/script.*?)/si”,””,$str); //過濾script標籤
$str=preg_replace(“/(\/?script.*?)/si”,””,$str); //過濾script標籤
$str=preg_replace(“/javascript/si”,”Javascript”,$str); //過濾script標籤
$str=preg_replace(“/vbscript/si”,”Vbscript”,$str); //過濾script標籤
$str=preg_replace(“/on([a-z]+)\s*=/si”,”On\\1=”,$str); //過濾script標籤
$str=preg_replace(“//si”,”#”,$str); //過濾script標籤,如javAsCript:alert(
清除空格,換行
function DeleteHtml($str)
{
$str = trim($str);
$str = strip_tags($str,””);
$str = ereg_replace(“\t”,””,$str);
$str = ereg_replace(“\r\n”,””,$str);
$str = ereg_replace(“\r”,””,$str);
$str = ereg_replace(“\n”,””,$str);
$str = ereg_replace(” “,” “,$str);
return trim($str);
}
過濾HTML屬性
1,過濾所有html標籤的正則表達式:
複製代碼 代碼如下:
/?[^]+
//過濾所有html標籤的屬性的正則表達式:
$html = preg_replace(“/([a-zA-Z]+)[^]*/”,”\\1″,$html);
3,過濾部分html標籤的正則表達式的排除式(比如排除p,即不過濾p):
複製代碼 代碼如下:
/?[^pP/]+
4,過濾部分html標籤的正則表達式的枚舉式(比如需要過濾apb等):
複製代碼 代碼如下:
/?[aApPbB][^]*
5,過濾部分html標籤的屬性的正則表達式的排除式(比如排除alt屬性,即不過濾alt屬性):
複製代碼 代碼如下:
\s(?!alt)[a-zA-Z]+=[^\s]*
6,過濾部分html標籤的屬性的正則表達式的枚舉式(比如alt屬性):
複製代碼 代碼如下:
(\s)alt=[^\s]*
php正則表達式過濾某些HTML標籤代碼
如果只要 b 標籤,不用「過濾」的方法,用「提取」的方法更簡單。
$str = ‘img src=”xxx”baaa/bbr\nbb\nbb/bspan style=”color:#FF0000;”yyy/span’;
$pattern = ‘/b(((?!\/b).)*)\/b/mi’;
preg_match_all($pattern, $str, $matches, PREG_SET_ORDER);
print_r($matches);
輸出
Array
(
[0] = Array
(
[0] = baaa/b
[1] = aaa
[2] = a
)
[1] = Array
(
[0] = bb\nbb/b
[1] = b\nbb
[2] = b
)
)
$matches[0][0],$matches[1][0] 是你想要的結果?
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/300931.html