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

}