Понадобилось сделать объединение идущих друг ха другом тегов img в один блок, который с помощью javascript превратится в галерею. Добавить один img в блок несложно — preg_replace тут сработает. А вот как выделить в отдельный блок несколько подряд идущих тегов?
Допустим, есть такой код:
<font color="black"><font color="#0000ff"><</font><font color="#800000">img</font> <font color="#ff0000">src</font><font color="#0000ff">="image1.jpg"</font> <font color="#ff0000">alt</font><font color="#0000ff">=""</font> <font color="#0000ff">/></font><br/>
<font color="#0000ff"><</font><font color="#800000">img</font> <font color="#ff0000">src</font><font color="#0000ff">="image2.jpg"</font> <font color="#ff0000">alt</font><font color="#0000ff">=""</font> <font color="#0000ff">/></font><br/>
<font color="#0000ff"><</font><font color="#800000">img</font> <font color="#ff0000">src</font><font color="#0000ff">="image3.jpg"</font> <font color="#ff0000">alt</font><font color="#0000ff">=""</font> <font color="#0000ff">/></font><br/>
<font color="#0000ff"><</font><font color="#800000">p</font><font color="#0000ff">></font>eewrwerr<font color="#0000ff"></</font><font color="#800000">p</font><font color="#0000ff">></font><br/>
<font color="#0000ff"><</font><font color="#800000">div</font><font color="#0000ff">></font>qweqweqwe<font color="#0000ff"></</font><font color="#800000">div</font><font color="#0000ff">></font><br/>
<font color="#0000ff"><</font><font color="#800000">img</font> <font color="#ff0000">src</font><font color="#0000ff">="image4.jpg"</font> <font color="#ff0000">alt</font><font color="#0000ff">=""</font> <font color="#0000ff">/></font><br/>
<font color="#0000ff"><</font><font color="#800000">p</font><font color="#0000ff">></font>eewrwerr<font color="#0000ff"></</font><font color="#800000">p</font><font color="#0000ff">></font><br/>
<font color="#0000ff"><</font><font color="#800000">img</font> <font color="#ff0000">src</font><font color="#0000ff">="image5.jpg"</font> <font color="#ff0000">alt</font><font color="#0000ff">=""</font> <font color="#0000ff">/></font><br/>
<font color="#0000ff"><</font><font color="#800000">img</font> <font color="#ff0000">src</font><font color="#0000ff">="image6.jpg"</font> <font color="#ff0000">alt</font><font color="#0000ff">=""</font> <font color="#0000ff">/></font></font><br/>
<br/>
<font color="gray">* This source code was highlighted with <a href="http://virtser.net/blog/post/source-code-highlighter.aspx"><font color="gray">Source Code Highlighter</font></a>.</font>
image4.jpg как раз в данном случае и не нужен, т.к. за ним не идёт другой тег img. А нужно получить 2 списка тегов img: с изображениями image1.jpg, image2.jpg, image3.jpg и image5.jpg, image6.jpg
Не могу придумать регулярное выражение для распарсивания такого кода. Если кто встречался с такой задачей, поделитесь, пожалуйста, алгоритмом.