帝国CMS内容字段域名替换函数

2021-11-16 18:00:04 帝国CMS教程

帝国CMS给内容字段图片加链接函数,第一个参数是内容,第2个参数是替换域名。

function domainReplace($text, $url){
        $pattern = "/<[img|IMG].*?src=[\'|\"](.*?(?:[\.jpg|\.jpeg|\.png|\.gif|\.bmp]))[\'|\"].*?[\/]?>/";
       
        $text = stripSlashes($text);
       
        return preg_replace_callback($pattern, function($matches) use($url) {
       
                if ('/' !== substr($matches[1], 0, 1) && 'http' !== substr($matches[1], 0, 4)) {
                       
                        return str_replace($matches[1], $url . $matches[1], $matches[0]);
                }
               
                return $matches[0];
        },
        $text);
}

升级版

function domainReplace($content = '', $url = '', $s = 0) {
       
        $pattern = "/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg|\.png]))[\"|\'].*?[\/]?>/";
        return preg_replace_callback($pattern, function($matches) use ($url) {
               
                if (1 === $s && false !== stristr($matches[0], $url)) {
                       
                        return str_replace($url, '', $matches[0]);
                } elseif (0 === $s && '/' !== substr($matches[1], 0, 1) && 'http' !== substr($matches[1], 0, 4)) {
                        return str_replace($matches[1], $url . $matches[1], $matches[0]);
                } else {
                       
                        return $matches[0];
                }
               
        }, $content);
}


声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系邮箱:123456@qq.com 我们将配合处理!

原文地址:帝国CMS内容字段域名替换函数发布于2021-11-16 18:00:04