使用帝国CMS建站的时候,有的时候可能需要对文本进行批量文字替换,可以用以下函数:
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);
}
$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);
}
评论前必须登录!
注册