内容IMG图片地址批量追加域名

//富文本图片Begin
if($data["content"])
{
	preg_match_all('/<img(.*)src="([^"]+)"[^>]+>/isU',$data["content"],$matches);
	$img = "";
	if(!empty($matches)) {
		//注意,上面的正则表达式说明src的值是放在数组的第三个中
		$img = $matches[2];
	}else {
		$img = "";
	}
	if (!empty($img)) {
		//$img_url = $request->domain();
		$img_url = "http://".$_SERVER['SERVER_NAME'];
		$patterns= array();
		$replacements = array();
		foreach($img as $imgItem)
		{
			if(strpos($imgItem,"http") === false)
			{
				$final_imgUrl = $img_url.$imgItem;
				$replacements[] = $final_imgUrl;
				$img_new = "/".preg_replace("/\//i","\/",$imgItem)."/";
				$patterns[] = $img_new;
			}
		}
		//让数组按照key来排序
		ksort($patterns);
		ksort($replacements);
		//替换内容
		$data["content"] = preg_replace($patterns, $replacements, $data["content"]);
	}
}
//2017-09-29-End

<div><img src="/upload/20170920/sadsdsasasd.jpg" alt="图片" title="图片" ></div>php

<br/>正则表达式

<div><img src="http://xxx.com/upload/20170920/sadsdsasasd.jpg" alt="图片" title="图片" ></div><div>数组

 

第二种状况:dom

base64转码图片返回路径编码

//富文本图片Begin
if($data["content"])
{
	preg_match_all('/<img(.*)src="([^"]+)"[^>]+>/isU',$data["content"],$matches);
	$img = "";
	if(!empty($matches)) {
		//注意,上面的正则表达式说明src的值是放在数组的第三个中
		$img = $matches[2];
	}else {
		$img = "";
	}

	if (!empty($img)) {
		$img_url = $request->domain();
		$patterns= array();
		$replacements = array();
		
		foreach($img as $imgItem)
		{	
			if(strpos($imgItem,"http") === false)
			{	
				//判断是否Base64编码的img	
				if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $imgItem, $result))
				{
					//获取图片后缀
					$type = $result[2];
					//上传目录
					$new_file = "./uploads/".date("Ymd",time())."/";
					//判断目录是否存在,不存在建立
					if(!file_exists($new_file))
					{
						//检查是否有该文件夹,若是没有就建立,并给予最高权限
						mkdir($new_file, 0700);
					}
					//上传图片到目录路径
					$new_file = $new_file.time().rand(1, 99).".{$type}";
					//文件保存
					if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $imgItem))))		
					{
						$final_imgUrl = $img_url.ltrim($new_file, ".");
						$replacements[] = $final_imgUrl;
						//$img_new = "/".preg_replace("/\//i","\/",$imgItem)."/";
						$patterns[] = $imgItem;
					}
				}
			}
		}
		//让数组按照key来排序
		ksort($patterns);
		ksort($replacements);
		//替换内容
		
		$data["content"] = str_replace($patterns, $replacements, $data["content"]);
		
		//$data["content"] = preg_replace($patterns, $replacements, $data["content"]);
	}
}
//2017-09-29-End

最简洁:url

function get_img_thumb_url($content="")
{
    $url = config('wxconfig.img_http');
    $pregRule = "/<[img|IMG].*?src=[\'|\"](.*?(?:[\.jpg|\.jpeg|\.png|\.gif|\.bmp]))[\'|\"].*?[\/]?>/";
    $content = preg_replace($pregRule, '<img src="'.$url.'${1}" style="max-width:100%">', $content);
    return $content;
}
相关文章
相关标签/搜索