/**
* 替换编辑器中的图片
* @param string $content 要替换的内容
* @param string $strUrl 内容中图片要加的域名
* @param integer $type 类型:0=减少域名,1=增加域名
* @return string
* @eg
*/
function replacePicUrl($content = null, $strUrl = null, $type=0)
{
if ($strUrl) {
//提取图片路径的src的正则表达式 并把结果存入$matches中
preg_match_all("/]+>/isU",$content,$matches);
$img = "";
if(!empty($matches)) {
//注意,上面的正则表达式说明src的值是放在数组的第三个中
$img = $matches[2];
}else {
$img = "";
}
if (!empty($img)) {
$patterns= array();
$replacements = array();
foreach($img as $imgItem){
if($type){
$final_imgUrl = $strUrl.$imgItem;
}else{
$final_imgUrl = str_replace($strUrl, '', $imgItem);
}
$replacements[] = $final_imgUrl;
$img_new = "/".preg_replace("/\//i","\/",$imgItem)."/";
$patterns[] = $img_new;
}
//让数组按照key来排序
ksort($patterns);
ksort($replacements);
//替换内容
$vote_content = preg_replace($patterns, $replacements, $content);
return $vote_content;
}else {
return $content;
}
} else {
return $content;
}
}
使用方法
//处理编辑器中图片
$detail = '
111
';$detail = replacePicUrl($detail, 'http://www.baidu.com', 1);
var_dump($detail);
处理结果
string(363) "
111
"