问题场景

在具有文章发布功能的系统和网站中,通常会使用富文本编辑器对文章内容进行编辑,而很多常用的富文本编辑器(如百度的UEditor)都会把文章中的图片以带域名的绝对路径进行存储,形式如下:

<img src="http://www.abc.com/upload/images/foo.jpg" />

当原网站域名发生变更,或原域名不可用时,用以上形式在文章中插入的图片便无法正常访问。
此时,就需要一种简便、高效的方式来批量更新文章中的所有图片路径。

解决思路

相对于通过程序读取文章内容,然后使用字符串(或正则)替换,最后再重新保存的方式,直接使用SQL的REPLACE进行操作无疑更加简便和高效。
形式如下:

UPDATE [表名] SET [字段名] = REPLACE([字段名], '[要替换的内容]', '[新内容]');

解决方案

回到实际的问题场景,假设文章表名为articles,文章内容字段为content,目标是把文章中所有图片路径中的www.abc.com替换为新的域名www.xyz.com(当然,这里具体的替换形式要根据自己的实际需要而定,也可以干脆把图片路径都替换为一个相对路径)。
具体SQL写法:

UPDATE articles SET content = REPLACE(content, 'http://www.abc.com/', 'http://www.xyz.com/')

注:该方法使用MySQL测试可用,其他类型的数据库在具体写法上可能会略有不同。

使用SQL批量处理文章中的图片路径相关推荐

  1. 利用MySQL语句批量替换指定wordpress文章中的图片路径

    天花了很多时间将SAE服务器中的图片下载到本地,然后删掉,但是有一个问题就是,所有文章中的图片路径还是以前的,没有根据域名来.导致下午某些时间段图片都是无法显示的,后来想到用MySQL直接批量替换,执 ...

  2. php img本地图片路径,php 替换文章中的图片路径,下载图片到本地服务器的方法

    php 替换文章中的图片路径,下载图片到本地服务器 /** * 获取替换文章中的图片路径 * @param string $xstr 内容 * @param string $oriweb 网址 * @ ...

  3. Python批量爬取微信公众号文章中的图片重建PowerPoint文件

    开学第一课:一定不要这样问老师Python问题 董付国老师Python系列教材推荐与选用参考 3000道Python习题免费在线练习 ============= 版权声明:由于公众号后台规则问题,本文 ...

  4. PS2: 这篇文章中的图片绘图工具使用的是Dia (sudo apt-get install dia)。据说yEd也很不错。...

    SBCL编译过程 - O.Nixie的专栏 - 博客频道 - CSDN.NET PS2: 这篇文章中的图片绘图工具使用的是Dia (sudo apt-get install dia).据说yEd也很不 ...

  5. 批量提取Word中的图片

    我在写学习笔记的时候喜欢用word或Evernote直接排版做笔记,好处是快速方便,直接截图插入.但是再刊载在CSND上的时候就有麻烦了,因为不能直接粘贴图片,只能上传到相册中再选取.这时我又不愿意一 ...

  6. 在CSDN的文章中插入图片

    为了在文章中插入图片,我费了大半天的工夫,最近终于搞定了. 希望CSDN在易用性方面做的更好一点.虽说CSDN的bug依旧比较多, 不过可以看出它在不断的改善中,在此也感谢为此付出辛勤劳动的人们.毕竟 ...

  7. vue样式 引入图片_详解Vue.js中引入图片路径的几种方式

    vue --version 3.6.3 记录总结一下的Vue中引入图片路径的几种书写方式 vue中静态资源的引入机制 Vue.js关于静态资源的官方文档 静态资源可以通过两种方式进行处理: 在 Jav ...

  8. ASP.NET中的图片路径问题

    ASP.NET中的图片路径问题,相信大家都遇到过,而且很烦.比如,我们的图片路径是在根目录\images\下,在主页面我们想用里面的图片,在用户控件中我们也想用那个目录下的图片,而用户控件往往我们会把 ...

  9. mysql 字符串替换:处理历史稿件中的图片路径

    REPLACE字符串替换函数 REPLACE(str,from_str,to_str) 示例: select REPLACE('123abcd89', 'abcd', '4567'); 输出结果: 1 ...

最新文章

  1. 对于容器环境来说 全栈监控究竟意味着什么?
  2. 标志寄存器的详细解释
  3. ios fixed定位后内容不显示_HTMLCSS学习笔记(七)-- 定位与锚点
  4. hibernate 标识符_Hibernate中的标识符
  5. opc调试软件_组态王和三菱OPC软件完美演绎天塔之光
  6. 3.1HTML5样式的使用
  7. 三星电视与计算机连接网络设置,三星电视怎么连接网络看电视?
  8. 做好准备,让你的短信应用迎接Android 4.4(KitKat)
  9. linux通过rpm和yum安装包
  10. Vue源码分析 - compile.js
  11. 归并排序MergeSort
  12. BEM —— 源自Yandex的CSS 命名方法论
  13. 使用ArcGIS实现WGS84经纬度坐标到北京54高斯投影坐标的转换
  14. python数据分析百度云资源_数据分析师视频教程百度云网盘下载
  15. linux 达梦 tcp tcpv6,linux下配置ipv6地址
  16. matlab中nc值是什么意思,科学网-.nc数据读取详细资料matlab2010a及后面的版本-张凌的博文...
  17. 计算机固态加机械硬盘,在台式机中添加固态/机械硬盘驱动器,让我与这篇文章一起教你...
  18. OSChina 周二乱弹 —— 掏心掏肺又掏钱,最终娶了个潘金莲
  19. [渝粤教育] 中国地质大学 大学物理(上) 复习题
  20. java程序制作 exe执行文件

热门文章

  1. Win系统 - 超简单!给硬盘来个简易健康体检吧
  2. 【SMS】SMS协议介绍之IP-SM-GW
  3. 窄幅震荡突破前高选股公式,选出突破前期高点的标的
  4. 【运维常用命令】文件和目录操作命令-04-mkdir命令
  5. 荔枝架构演进历程读后感
  6. PHPWord设置首行缩进2字符
  7. 基于JAVA星之语明星周边产品销售网站计算机毕业设计源码+系统+lw文档+部署
  8. C#利用ASP.NET?Core开发学生管理系统详解
  9. 《科学》封面文章AlphaCode的重大意义及其思考
  10. 华为鸿蒙操作系统学习(3):经过上次的编译发现,鸿蒙的整个项目的源代码现在使用的是v1.0版本。原来可以编译3个设备固件,但是只编译成功两个。使用Dockerfile进行源代码的构建,构建成功。