<?php
$str = '我的应用{$param1}和{$param2}';
$tpl_vars['param1'] = 'value1';
$tpl_vars['param2'] = 'value2';
//$patten = "/{\\$([a-zA-Z0-9_]+)}/";
$patten = "/\{\\$([a-zA-Z0-9_]+)\}/";
if(strpos($str, '{$') !== false){
$str = preg_replace($patten, "<?php echo \$tpl_vars['$1']; ?>", $str);
}
echo $str;就是这一行 $str = preg_replace($patten, "<?php echo \$tpl_vars['$1']; ?>", $str);为什么替换不了,为什么 $tpl_vars不起作用??
$str = '我的应用{$param1}和{$param2}';
$tpl_vars['param1'] = 'value1';
$tpl_vars['param2'] = 'value2';
//$patten = "/{\\$([a-zA-Z0-9_]+)}/";
$patten = "/\{\\$([a-zA-Z0-9_]+)\}/";
if(strpos($str, '{$') !== false){
$str = preg_replace($patten, "<?php echo \$tpl_vars['$1']; ?>", $str);
}
echo $str;就是这一行 $str = preg_replace($patten, "<?php echo \$tpl_vars['$1']; ?>", $str);为什么替换不了,为什么 $tpl_vars不起作用??
我的应用<?php echo $tpl_vars['param1']; ?>和<?php echo $tpl_vars['param2']; ?>这是正确的!
你想得到什么?
你只简单的 echo $str;
当然是看不到的,因为 <?php ?> 被浏览器解释成了 html 标记,“查看源文件”就可以看到了如果你在前面先输出一个 <xmp> 标记,就都看到了
不过还有个想问下
就是我想把把里面的变量给打印出来,但是并没有打印出来
却给我输出了
我的应用<?php echo $tpl_vars['param1']; ?>和<?php echo $tpl_vars['param2']; ?>
我想打印出来怎么做?