<?
        $opt = '12345a34567';
        $b['a'] = 123;
        echo preg_replace('/(\w)/ie',"$b['$1']",$opt);
?>
用正则提取出字符串里的a  然后a是数组b的一个键名 我想替换成数组b['a']的值 也就是123  这样写会提示语法错误 何解?

解决方案 »

  1.   

            $opt = '12345a34567';
            $b['a'] = 123;
            echo preg_replace('/([a-zA-z])/ie',"\$b['$1']",$opt);
      

  2.   

    谢谢LS 换成 '$b[$1]'也可!^_^
      

  3.   

    <?
            $opt = '12345a34567';
            $b['a'] = 123;
            echo preg_replace('/(\w)/ie',"rep('$1')",$opt);
    function rep($key){
      global $b;
      return $b[$key];
    }
    ?>