Я использую систему шаблонов. В этой системе шаблонов я использую структуру, показанную ниже для условий if-else;PHP вложен, если условия
<if condition="'$condition' != 1">
<div>true source</div>
</if>
, чем я разделяю выражение следующим шаблоном;
$pattern_case = '<if condition="(.*?)">(.*?)</if>';
preg_match("#$pattern_case#si",$string,$case)
но somecases если-то процессы могут быть использованы один в другом - Например (вложенном recusirve?);
<if condition="'$condition1' != 1">
<div>condition 1 text</div>
<if condition="'$condition2' == 2 ">
<div>condition 2 text</div>
</if>
condition 1 text more
</if>
В этом случае шаблон дает следующие результаты.
<if condition="'$condition1' != 1">
<div>condition 1 text</div>
<if condition="'$condition2' == 2 ">
<div>condition 2 text</div>
</if>
(так и без этого)
condition 1 text more
</if>
Без использования DOMDocument, как я могу решить эту проблему с регулярным выражением?