php preg_replace html标签问题

时间:2013-07-09 10:50:00

标签: php regex preg-replace preg-match

我有这个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);

1 个答案:

答案 0 :(得分:1)

试试这个:

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