- explode: documentation ( source)
<?php
$html = '<!--HEAD--><p class="listing-grp-title">Top Ranked Offers</p><!--HEAD-->
<!--WRAPPERSTART--><div><table><!--WRAPPERSTART-->
<tr class="{% if forloop.counter|divisibleby:2 %}even{% else %}odd{% endif %}">
<td class="rank"># {{forloop.counter}}</td>
<td class="logo">
<img src="{{ad.display_url}}" width="120" height="40" alt="Aig Sml"/>
</td>
<td>
<p class="offer">{{ad.headline}}</p>
{{ad.body|safe}}
</td>
<td>
<img src="images/arrow.png" width="14" height="18" alt=""/>
</td>
<td class="end">
<a href="#"><img class="button" src="images/sml-btn.png" width="112" height="30" alt=""/></a>
</td>
</tr>
<!--WRAPPEREND--></table></div><!--WRAPPEREND-->';
$sub= 'sub_0_';
echo _format_special_tags($html,$sub);
function _format_special_tags($html,$sub) {
//where sub is sub_1_ or similar
$tags = array();
$outer= "{% if forloop.counter = ".$sub."range.0 %}";
$end_outer = "{% endif %}";
$header = _return_between('<!--HEAD-->',$html);
$wrapper_start = _return_between('<!--WRAPPERSTART-->',$html);
$wrapper_end = _return_between('<!--WRAPPEREND-->',$html);
$html = $outer.(($header)?$header:'').(($wrapper_start)?$wrapper_start:'').$end_outer.$html.$outer.(($wrapper_end)?$wrapper_end:'').$end_outer;
}
function _return_between($tag,$subject) {
$split = explode($tag,$subject,3);
return isset($split[1])?$split[1]:false;
}