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

发布时间:2021-05-21作者:帝国建站网

帝国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);
}


上一篇:帝国CMS删除栏目无内容时候的提示的此栏目暂无任何新增信息的解决方法

下一篇:帝国CMS模板中[!--no.num--]标签的使用法解析和教程