Сделал так:
<?php
function funct($stroka) {
$p1=strpos($stroka, '{{');
$p2=strpos($stroka, '}}');
// строка {{ ... }} без кавычек
$podstroka = substr($stroka, $p1+2, $p2-$p1);
//echo ($podstroka.'<br><br>');
if (strpos($podstroka, '{{')!==false){
$pppos=strpos($podstroka, '{{')+1;
$vnutr=substr($podstroka, $pppos-1, $p2-$p1);
$stroka=str_replace ($vnutr, '', $stroka);
} else $stroka=substr_replace($stroka,'', $p1, ($p2-$p1)+2);
//echo($stroka);
return($stroka);
}
$stroka="текст_полезный{{текст_текст{{текст_внутри скобки}}дальше_текст}}_снова_полезный_текст{{и тут опять текст}}_опять_текст";
for ($p=0; $p<=5000; $p++) {
if(strpos($stroka, '{{')!==false) {
$stroka=funct($stroka); } else break;
}
echo $stroka;
?>
Всем спасибо за помощь, но решил по своему. Костыли конечно ))) Особенно имитация рекурсии (в цикле), но главное работает ))