ecshop接口之详情页图片显示问题

在写ecshop接口时,如果详情页的图片是上传到本地的,可能就显示不出图片:如images/upload/Image/dao2_01.jpg,需要写成如http://www.csdn.com/images/upload/Image/dao2_01.jpg这样才能显示出来,所以需要取出详情页的图片并判断是否远程图片,不是的话就需要给图片加上网站域名。


function replacePicUrl($content = null, $strUrl = null) {  
    if ($strUrl) {  
        preg_match_all("/<img([^>]*)\s*src=('|\")([^'\"]+)('|\")/", 
                    $content,$matches);//带引号 
        //preg_match_all("/<img([^>]*)\ssrc=([^\s>]+)/",$string,$matches);//不带引号 
        $new_arr=array_unique($matches[3]);//去除数组中重复的值  
        $patterns= array();    
        $replacements = array();  
        foreach($new_arr as $key){ 
            $final_imgUrl = (strpos($key, 'http://') === false && strpos($key, 'https://') === false) ? $strUrl.$key : $key;  
            $replacements[] = $final_imgUrl;    
            $img_new = "/".preg_replace("/\//i","\/",$key)."/";    


            $patterns[] = $img_new;  
        }   
        //让数组按照key来排序    
        ksort($patterns);    
        ksort($replacements);    
        //替换内容    
        $new_content = preg_replace($patterns, $replacements, $content);
        return $new_content;    
    } else {  
        return $content;  
    }  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值