如何替换和添加样式到特定标签

时间:2014-11-27 05:16:50

标签: php regex

我有一个问题。我无法替换并添加内联样式css。 我有这个  的输入

<p  style="text-align: justify;"><span style="font-size: 11pt;">hello world<br /></span></p>
<p id="tem" style="text-align: justify;">test</p>
<p >&nbsp;</p>
<p>&nbsp;</p>

我想要这个 的输出:

<p style="text-align: justify;margin:0;"><span style="font-size: 11pt;">hello world<br /></span></p>
<p id="tem" style="text-align: justify;margin:0;">test</p>
<p  style="margin:0;">&nbsp;</p>
<p style="margin:0;">&nbsp;</p>

我试过这种方式demo

 $re = "/(<p[^>]+\")([^>\"]+)/miu";
    $str = "<p id=\"tem\" style=\"text-align: justify;\"><span style=\"font-size: 11pt;\">hello world<br /></span></p>\n<p style=\"text-align: justify;\">test</p>\n<p >&nbsp;</p>\n<p>&nbsp;</p>";
    $subst = "$1$2margin:0;";

    $result = preg_replace($re, $subst, $str);

请帮助我任何人。感谢。

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题:

按正则表达式模式((?<=\<)[^>]+style=")([^>"]+)搜索并替换为$1$2margin:0;

Live demo