return preg_replace("/{([^\}\{\n]*)}/e", "\$this->select('\\1');", $source);
模板引擎里的..

解决方案 »

  1.   

    匹配出字符串【{....}】  其中的【...】不包含【{】【}】以及换行
      

  2.   

    貌似是取最内层的{}中的内容, 不允许嵌套.
      

  3.   

    这个只在\}前面有否定^ ,后面的就没了,是不是就单单不包含}啊?
    还是表达式前加一个否定^,把后面的都否定了?
      

  4.   

    [^\}\{\n]
    表示不包括 }、{、\n