【发布时间】:2012-01-03 22:07:07
【问题描述】:
我需要找到一种方法来替换
之前的所有
中的所有。
这是一个示例 html:
<p>2012/01/03</p> <blockquote> <h4>File name</h4> <p>Good Game</p> </blockquote> <blockquote><p>Laurie Ipsumam</p></blockquote> <h4>Some title</h4> <hr /> <p>Lorem Ipsum</p> <blockquote><p>Laurel Ipsucandescent</p></blockquote>这是我得到的:
$pieces = explode("<hr", $theHTML, 2); $blocks = preg_match_all('/<blockquote>(.*?)<\/blockquote>/s', $pieces[0], $blockmatch); if ($blocks) { $t1=$blockmatch[1]; for ($j=0;$j<$blocks;$j++) { $paragraphs = preg_match_all('/<p>/', $t1[$j], $paragraphmatch); if ($paragraphs) { $t2=$paragraphmatch[0]; for ($k=0;$k<$paragraphs;$k++) { $t1[$j]=str_replace($t2[$k],'<p class=\"whatever\">',$t1[$j]); } } } }我想我真的很接近,但我不知道如何将我刚刚拼凑和修改的html重新组合在一起。
【问题讨论】:
标签: php preg-replace preg-match-all str-replace