Hi,
Why don't we use a ready-made template engine, like twig? It's top-notch and user friendly.
Btw., who is your users? Casual coders or people using your CMS system (just guessing)? Asking for learning the use case.
One approach I like is, instead of adding a new templating jargon, users passing variables just like in your sample, but instead of using costly string replacing operatings, they use <?= $name ?> etc. (instead of [@name]). May seem ugly but have the advantage of not learning a new syntax and rules.
OK, I hope we can work. :)
Thanks,
gasoved