ho questa codice:
Codice PHP:
<?php
$regex = '/<if condition="(.*?)">(.*?)<elsif condition="(.*?)">(.*?)<else>(.*?)</if>/is';
$replacement = "<?php if ($2) { ?>$3<?php } elseif ($5) { ?>$6<?php } else { ?>$11<?php } ?>";
$html = <<<A
<if condition="1==1">[b]ciao lollo[/b]
<elsif condition="2==1"><s>ciao marco</s>
<else>[i]Ciao ignoto[/i]
</if>
A;
echo preg_replace($regex, $replacement, $html);
?>
viene sostituito con:
<?php if (1==1) { ?>ciao lollo
<?php } elseif (2==1) { ?><s>ciao marco</s>
<?php } else { ?>Ciao ignoto
<?php } ?>
senza problemi...
Ma se volessi mettere più elseif?
/<if condition="(.*?)">(.*?)<elsif condition="(.*?)">(.*?)(<elsif condition="(.*?)">(.*?))*<else>(.*?)</if>/is
e poi il ($)replacement come lo traduco?