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?