當前位置:首頁 » 編程語言 » php過濾html

php過濾html

發布時間: 2023-06-27 18:07:36

php處理解析HTML字元串的幾種方法

1.strip_tags() 函數:可以過濾掉HTML和PHP標簽,返回一個全新的字元串!

用法:

string strip_tags ( string 要處理的字元串 [, string 想保留的標簽] )

比如: 標簽,就這樣寫握早,strip_tags($str, 「」) ,如果要保留多個標簽,則標簽之間用空格隔開。

2.用 strpos , substr 混合處理

當我們要截取的字元串,有唯一的標識時,通常可以用這個辦法,比如取一個帶唯一id的液敏標簽abc,只要找到和,中段埋雀間的內容就都出來了。

3.PHP DOMDocument

DOMDocument 提供的方法是輸出沒有任何標簽的純文本,如果你只需要文本數據,那用這個方法最簡單拉

❷ php正則表達式過濾某些HTML標簽代碼

如果只要
<b>
標簽,不用「過濾」的方法,用「提取」的方法更簡單。
$str
=
'<img
src="xxx"><b>aaa</b><br>\n<b>b\nbb</b><span
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]
=>
<b>aaa</b>
[1]
=>
aaa
[2]
=>
a
)
[1]
=>
Array
(
[0]
=>
<b>b\nbb</b>
[1]
=>
b\nbb
[2]
=>
b
)
)
$matches[0][0],$matches[1][0]
是你想要的結果?

❸ 用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標簽的正則表達式的枚舉式(比如需要過濾<a><p><b>等):

復制代碼 代碼如下:

</?[aApPbB][^>]*>

5,過濾部分html標簽的屬性的正則表達式的排除式(比如排除alt屬性,即不過濾alt屬性):

復制代碼 代碼如下:

\s(?!alt)[a-zA-Z]+=[^\s]*

6,過濾部分html標簽的屬性的正則表達式的枚舉式(比如alt屬性):

復制代碼 代碼如下:

(\s)alt=[^\s]*

❹ php過濾多餘html標簽的代碼!

$str = 」 This line contains\tliberal \r\n use of whitespace.\n\n」;

$str = trim($str);// 首先去掉頭尾空格

$str = preg_replace(』/\s(?=\s)/』, 『』, $str);// 接著去掉兩個空格以上的

$str = preg_replace(』/[\n\r\t]/』, 『 『, $str);// 最後將非空格替換為一個空格

使用上面的例子可以去掉所有多餘的空格。

首先使用TRim()去頭尾空格,

接著用preg_replace()去掉重復的空格。

當中的(?=)表示只匹配後面的空格跟隨前面的空格的空格

❺ PHP 過濾HTML中除了img標簽外其它所有標簽,同時保留標簽內容,但<script>標簽內的內容都清除。

提供實例:
<?php
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text);
echo "\n";
// 允許 <p> 和 <a>
echo strip_tags($text, '<p><a>');
?>
以上常式會輸出:
Test paragraph. Other text
<p>Test paragraph.</p> <a href="#fragment">Other text</a>

具體做法:
<?php
echo strip_tags($text, 'img');
?>

❻ PHP如何去除字元串中的html標記

php去除字元串中的html標記,用到的工具:notepad++,代碼如下:

1.

<?php
echostrip_tags("Hello<h1>china!</h1>");
?>

說明:strip_tags函數就是過濾html標簽。

2.輸出結果:Hello china!

注意事項:win和linux都適用!

❼ php文件輸出如何過濾掉html,代碼如下

<b>asasasas</b>這個html標簽是加粗標簽,如果你想在瀏覽器上顯示的是加粗的asasasas就直接輸出
<?php
echo "<b>asasasas</b>";

?>

如果你想輸出的<b>asasasas</b>這個字元串的話呢
<?php

echo htmlspecialchars("<b>asasasas</b>");

?>

熱點內容
大眾朗逸哪個配置好點 發布:2025-02-12 01:25:41 瀏覽:67
引用jar怎麼發布到伺服器 發布:2025-02-12 01:07:44 瀏覽:333
舊電腦開伺服器 發布:2025-02-12 01:02:50 瀏覽:277
電腦伺服器兩個電源什麼意思 發布:2025-02-12 00:55:15 瀏覽:220
linux外網不能訪問埠 發布:2025-02-12 00:55:13 瀏覽:438
安卓系統哪裡可以看充電次數 發布:2025-02-12 00:53:53 瀏覽:723
如何選物理伺服器cpu 發布:2025-02-12 00:48:22 瀏覽:68
怎麼買編程 發布:2025-02-12 00:31:42 瀏覽:932
固態硬碟如何做緩存檔 發布:2025-02-12 00:19:48 瀏覽:519
cm13源碼下載 發布:2025-02-12 00:13:58 瀏覽:554