php正则表达式将每个跨度放入下一个跨度?

时间:2011-10-19 19:05:01

标签: php regex

  

可能重复:
  RegEx match open tags except XHTML self-contained tags

我有一些范围,这样的关系:

<span class="aa">word1</span><span class="bb">word2</span>...<!-- otehr html elements -->
<span class="aa">word3</span><span class="bb">word4</span>

如何使用REGX,将每个 span.aa加入下一步 span.bb

<span class="bb"><span class="aa">word1</span>word2</span>...<!-- otehr html elements -->
<span class="bb"><span class="aa">word3</span>word4</span>

这是我用simple_html_dom.php做的事情,但这只是做一组跨度,我有很多跨度就像这种情况。(在跨度之间还有其他html元素。

<?php
require 'simple_html_dom.php';
$html ='<span class="aa">word1</span><span class="bb">word2</span>';
$newhtml = str_get_html($html);
$span = $newhtml->find('span', 0);
$span1 = $newhtml->find('span', 1);
echo str_replace('class="bb">','class="bb">'.$span,$span1);
?>

1 个答案:

答案 0 :(得分:0)

如果这是您唯一需要做的事情,可以找到所有<span class="bb">,用空字符串替换它们,然后找到所有<span class="aa"> 并用<span class="bb"><span class="aa">

替换它们