由于最近流量暴涨,以前的老站后台没有设置静态文件的 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;
}
另外不要让我用全站 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;
}