<?php

$re = "/{{(?<inner>.*?)}}|(?<outer>[^{}]*(?:{(?!{)[^{}]*|}(?!})[^{}]*)*)/"; 
$str = "{{Friday}}today{{Sunday}}"; 
preg_match_all($re, $str, $matches);
print_r(array_filter($matches["outer"]));
print_r(array_filter($matches["inner"]));
$str2 = "{{Friday}}t{od{a}y{{Sunday}}";
preg_match_all($re, $str2, $matches2);
print_r(array_filter($matches2["outer"]));
print_r(array_filter($matches2["inner"]));