2013-07-09 168 views
1

我有這個html代碼。php preg_replace html標籤問題

<P class=MsoNormal style='MARGIN: 0cm 0cm 10pt'><STRONG>text</P> 
    <P class=MsoNormal style='MARGIN: 0cm 0cm 10pt'></P> 
    <UL> 
    <LI> 
    <DIV class=MsoNormal style='MARGIN: 0cm 0cm 10pt'>text</DIV></LI> 
    <LI> 
    <DIV class=MsoNormal style='MARGIN: 0cm 0cm 10pt'>text</DIV></LI> 
    <LI> 
    <DIV class=MsoNormal style='MARGIN: 0cm 0cm 10pt'>text</DIV></LI> 
    <LI> 
    <DIV class=MsoNormal style='MARGIN: 0cm 0cm 10pt'>text</DIV></LI> 
    <LI> 
    <DIV class=MsoNormal style='MARGIN: 0cm 0cm 10pt'>text</DIV></LI> 
    <LI> 
    <DIV class=MsoNormal style='MARGIN: 0cm 0cm 10pt'>text</DIV></LI></UL> 

我想刪除風格標籤和它的禮節以及類標籤及其禮儀所以出來會是:

<P><STRONG>text</P> 
    <P></P> 
    <UL> 
    <LI> 
    <DIV>text</DIV></LI> 
    <LI> 
    <DIV>text</DIV></LI> 
    <LI> 
    <DIV>text</DIV></LI> 
    <LI> 
    <DIV>text</DIV></LI> 
    <LI> 
    <DIV>text</DIV></LI> 
    <LI> 
    <DIV>text</DIV></LI></UL> 

這是我已經試過,但它不工作:

$html = preg_replace('/(]+) (style|class)=("|\').*?("|\'(>|\s))/img', '$1', $$html); 
+0

一)它以什麼方式不起作用? b)你不能用正則表達式解析HTML http://stackoverflow.com/a/1732454/477127 – GordonM

+0

這是它給出的錯誤:PHP錯誤[8]:未定義的變量:返回HTML –

回答

1

試試這個:

$html = preg_replace("/(\s(class|style)[^>]+)/", "", $html); 
+0

剛剛嘗試它給它同樣的錯誤PHP錯誤[8]:未定義的變量: –

+0

你錯誤是由「$$ html」引起的!只需使用$ html而不是 – zekus

+0

,謝謝zekus在將$$ html改爲$ html之後工作。我如何刪除它是否存在標籤? –