使用 preg_match 用 PHP 变量替换标签 [英] replace tags with PHP variables using preg_match
本文介绍了使用 preg_match 用 PHP 变量替换标签的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
{$thisname}
应该转换为 <?php echo $thisname;?>
.
{thisname}
应该转换为 <?php echo $thisname;?>
.
{$this.movie.games}
&&{$this.new}
应该分别转换为 <?php echo $this["movie"]["games"];?>
和 .
{$this.movie.games}
&& {$this.new}
should be converted respectively to <?php echo $this["movie"]["games"]; ?>
and <?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"]; ?>
这篇关于使用 preg_match 用 PHP 变量替换标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文