{$thisname}
следует преобразовать в <?php echo $thisname; ?>
<?php echo $thisname; ?>
.
{thisname}
следует преобразовать в <?php echo $thisname; ?>
<?php echo $thisname; ?>
.
{$this.movie.games}
&& {$this.new}
следует преобразовать соответственно в <?php echo $this["movie"]["games"]; ?>
<?php echo $this["movie"]["games"]; ?>
и <?php echo $this["new"]; ?>
<?php echo $this["new"]; ?>
.
$tpl = 'Name: {$name}, Surname: {surname}, City: {$person.address.city}'; function tpl2php($m){ $var = $m[1]; if(strpos($var,'.')){ $varArr = explode('.',$var); $var = $varArr[0]; for($i=1;$i<count($varArr);$i++){ $var .= '["' . $varArr[$i] .'"]'; } } return '<?php echo $' . $var . '; ?>'; } $php = preg_replace_callback('/{\$?([_a-z][\w\.]+[\w])}/iS','tpl2php',$tpl); // Name: <?php echo $name; ?>, Surname: <?php echo $surname; ?>, City: <?php echo $person["address"]["city"]; ?>
Используйте систему шаблонов, я предлагаю использовать http://phpsavant.com/, хотя похоже, что вас больше интересует Smarty или Dwoo
Нет необходимости повторно изобретать колесо 🙂
Используйте функцию str_replace .
preg_replace и регулярные выражения более гибкие, чем str_replace, особенно если вам нужно проанализировать строку типа this.movie в $ this ["movie"]. Однако это будет непростая задача.