{$name}
匹配出这个{$ }
然后把这个替换为 <?  >
另问:
{$name} 从数据库中得到,匹配后,如何得到$name的值? $name执行前就已经赋值

解决方案 »

  1.   

    1、
    $s = '{$name} ';
    $p = array('/{\$/', '/}/');
    $r = array('<?', '>');
    echo '<xmp>' . preg_replace($p, $r, $s);2、
    eval();
      

  2.   

    $data =  '
    123{$name}456
    789{$name}abc
    efg{$name}iop
    ';$reg = '/\{\$(\w+)\}/i';$data = preg_replace($reg, '<?\1>', $data);echo htmlspecialchars($data);
      

  3.   

    $str = '{$name}';
    $reg = '/(\{\$)(\w+)(\})/';
    $rm = '<?\${2}>';
    echo '<xmp>' . preg_replace($reg,$rm,$str); 
      

  4.   

    取值$name 赋给变量
    然后对变量进行正则替换。