求正则高手帮忙解决一个正则表达式的问题

浏览:352 发布日期:2016/04/25 分类:求助交流 关键字: PHP,正则,CDN
由于最近流量暴涨,以前的老站后台没有设置静态文件的 CDN 接口。于是就想在入口文件加入一个用正则替换的静态文件的功能。自己参照网上写了下面的替换函数,能够解决大部分的静态文件,但是一旦遇上了以 http 、 https 或者 //开头的数据的数据就出错了。我知道咱站里面的技术大牛多,所以想请大牛们帮我下面这个函数改成能够除非以 http 、 https 或者 //开头的数据,也是排除原来本身就引用了外链的部分。

另外不要让我用全站 CDN 加速,因为业务限制,不太方便。我只想把特定后缀的文件的流量转移到 CDN 上面去。 function cdn_replace($html){
    $cdnurl = "http://www.zishuo.net/"; //cdn Url
    $exts   = 'jpg|jpeg|gif|png|bmp|webp|css|js'; //扩展名(使用|分隔)
    $regex    = '/([^\s\?\\\'\"\;\>\<]{1,}.(' . $exts . '))([\"\\\'\s\?]{1})/';
    $content  =  preg_replace($regex, $cdnurl. '$1$3', $html);
    return $content;
}
最佳答案
评论( 相关
后面还有条评论,点击查看>>