替换html里面的图片相对路径地址为绝对路径

项目要用到使用正则函数preg_replace_callback把图片相对路径替换为绝对路径,自己写的函数记录下来以备以后复用

        function pregReplaceImg($content,$prefix)
        {
            $contentAlter = preg_replace_callback('/src=[\'\"]([\s\S]*?)[\'\"][\s\S]*?/i', function($match)use($prefix){
                if(strstr($match[1], 'http://')==false && strstr($match[1], 'https://')==false)
                    return 'src="'.$prefix.$match[1].'"';
                else
                    return 'src="'.$match[1].'"';
            } , $content);
            return $contentAlter;
        }

继续优化该函数,忽略匹配非图片调用的路径,如js路径

        function pregReplaceImg2($content,$prefix)
        {
            $contentAlter = preg_replace_callback('/(<[img|IMG].*?src=[\'\"])([\s\S]*?)([\'\"])[\s\S]*?/i', function($match)use($prefix){
                if(strstr($match[2], 'http://') == false && strstr($match[1], 'https://') == false)
                    return $match[1].$prefix.$match[2].$match[3];
                else
                    return $match[1].$match[2].$match[3];
            } , $content);
            return $contentAlter;
        }

c o n t e n t 为 需 要 替 换 的 h t m l 代 码 , content为需要替换的html代码, contenthtmlprefix为图片域名地址路径前缀

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值