php显示本地上传图片,php关于文章中本地上传图片,和网络图片,如何正确的区分并显示他们...

在php中,一篇文章中的内容,可能会从本地上传图片,或者引用网络图片。

上传图片呢,文章内容保存在数据库中,就只是这个图片的路径,例如:

20170926141255_51116.png

如果是引用网络图片呢,保存在数据库中是完整的链接,例如:

43efd96d0218838f9b1adfe02e08ee7c.png

那么根据文章ID,去显示这篇文章时候,对于上传图片的正确显示处理目前有了,如下

$pattern="//";

preg_match_all($pattern,$content,$matches);

$img = "";

if(!empty($matches)) {

//src的值是放在数组的第1个

$img = $matches[1];

}else {

$img = "";

}

if (!empty($img)) {

$img_url = $_SERVER['REQUEST_SCHEME'] . "://" . $_SERVER['HTTP_HOST'];

$patterns= array();

$replacements = array();

foreach($img as $imgItem){

$final_imgUrl = $img_url.$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);

这样就可以让上传图片,正确显示出来,那么请问一下,如何在这其中,屏蔽掉是网络引用的图片呢??

因为网络图片已经有完整的链接地址了。

谢谢,不胜感激

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值