卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章1829本站已运行4109

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

卓越飞翔博客
上一篇: 帝国CMS发送邮件SMTP配置方法
下一篇: 帝国CMS投稿自动截取简介方法
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏