我想有选择地从字符串中解析出HTML。我使用了strip_tags来允许div,但我不想保留字符串中的div样式/类。也就是说,我想:
<div class="something">text</div>
<div style="something">text</div>
简单地成为:
<div>text</div>
两种情况。
有人可以帮忙吗?谢谢!
答案 0 :(得分:2)
替换以下正则表达式:
(?<=<div.*?)(?<!=\t*?"?\t*?)(class|style)=".*?"
答案 1 :(得分:1)
以下是一个例子:
preg_replace('`<div (style="[^"]*"|class="[^"]*")>([^<]*)</div>`i', "<div>$1</div>", $str);
基本上,这会将div的内容与样式或类属性相匹配。然后,您删除所有内容以仅保留<div>content</div>
。
它比J V的版本长,但它不会取代像<div style="blablabla" color="blablabla">content</div>
这样的东西。可能或可能不是你想要的。
答案 2 :(得分:0)
作为regexp的一个选项(总是吓坏我了), 我建议使用xml_parse_into_struct。
请参阅php.net,这是第一个例子。