美文网首页
PHP正则批量替换文本中图片路径方法!

PHP正则批量替换文本中图片路径方法!

作者: DragonersLi | 来源:发表于2021-12-02 15:43 被阅读0次
    富文本编辑器

    当我们后台使用这种富文本编辑工具上传图片时,查看源码图片路径如下:
    <img src="/uploads/articles/images/20211202/test.png" title="test.png" alt="test.png"/>
    前端微信可以查看图片,但是vue打包的app无法查看图片,想到可能是图片路径问题。

    后端接口代码修改,把text内容里的图片替换,前面加上cdn域名地址。
    发现本地富文本上传是相对路径,有时候网上复制过来的是带域名的绝对路径。这样替换就会有问题了
    <img src="/uploads/articles/images/20211202/test.png" title="test.png" alt="test.png"/><img src="htps://www.xxx.com/uploads/articles/images/20211202/test.png" title="test.png" alt="test.png"/>

            $data = Article::field('id,title,intro,img,content,status,create_time')->find();
    //未改前的匹配规则
            $data['content'] = preg_replace("/(<img .*?src=\")(.*?)(\".*?>)/is","\${1}".config('app.cdn_qiniu')."\${2}\${3}",$data['content']);
    //改进后的匹配规则
            $data['content'] = preg_replace("/(<img .*?src=\")(\/.*?)(\".*?>)/is","\${1}".config('app.cdn_qiniu')."\${2}\${3}",$data['content']);
            
    
    

    相关文章

      网友评论

          本文标题:PHP正则批量替换文本中图片路径方法!

          本文链接:https://www.haomeiwen.com/subject/mkwzrxtx.html