一个模板解析函数的bug
//匹配 <include file=""/>
public function includeFile($content){
    $flag = preg_match_all('/<include file="([a-zA-Z][a-zA-Z0-9\/_-]*)"\/>/',$content,$matches,PREG_PATTERN_ORDER);
    foreach ($matches[1] as $str) {
        $str = explode('/', $str);
        $str = implode('\/', $str);
        $data = file_get_contents(Url::getTempletUrl($str));
        $content = preg_replace('/<include file="'.$str.'"\/>/', $data, $content); 
    }
    return $content;
}

这段程序有错误,在windows上不宜被发现。 因为windows可以识别./App\/Admin\/View\/Index.html这样的路径,linux就不可以了。改成如下即可。

//匹配 <include file=""/>
    public function includeFile($content){
        $flag = preg_match_all('/<include file="([a-zA-Z][a-zA-Z0-9\/_-]*)"\/>/',$content,$matches,PREG_PATTERN_ORDER);
        foreach ($matches[1] as $str) {
            $data = file_get_contents(Url::getTempletUrl($str));
            $str = explode('/', $str);
            $str = implode('\/', $str);
               $content = preg_replace('/<include file="'.$str.'"\/>/', $data, $content); 
        }
        return $content;
    }


修改时间 2016-03-31

真诚赞赏,手留余香
赞赏
随机推荐
Photoshop 色彩基础
Javascript使用的加密包 crypto-js
input上选择同一文件change事件不生效
Premiere 小技巧汇总笔记
CentOS 7 安装 Google BBR  
详谈JavaScript数组合并常见几大方法
npm国内镜象设置的三种方法
EJS 中文文档
gps纠偏数据库及gps纠偏算法PHP
Cordova build 报错