//富文本图片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>
<br/>
<div><img src="http://xxx.com/upload/20170920/sadsdsasasd.jpg" alt="图片" title="图片" ></div><div>
第二种情况:
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