使用SQL批量处理文章中的图片路径
问题场景
在具有文章发布功能的系统和网站中,通常会使用富文本编辑器对文章内容进行编辑,而很多常用的富文本编辑器(如百度的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批量处理文章中的图片路径相关推荐
- 利用MySQL语句批量替换指定wordpress文章中的图片路径
天花了很多时间将SAE服务器中的图片下载到本地,然后删掉,但是有一个问题就是,所有文章中的图片路径还是以前的,没有根据域名来.导致下午某些时间段图片都是无法显示的,后来想到用MySQL直接批量替换,执 ...
- php img本地图片路径,php 替换文章中的图片路径,下载图片到本地服务器的方法
php 替换文章中的图片路径,下载图片到本地服务器 /** * 获取替换文章中的图片路径 * @param string $xstr 内容 * @param string $oriweb 网址 * @ ...
- Python批量爬取微信公众号文章中的图片重建PowerPoint文件
开学第一课:一定不要这样问老师Python问题 董付国老师Python系列教材推荐与选用参考 3000道Python习题免费在线练习 ============= 版权声明:由于公众号后台规则问题,本文 ...
- PS2: 这篇文章中的图片绘图工具使用的是Dia (sudo apt-get install dia)。据说yEd也很不错。...
SBCL编译过程 - O.Nixie的专栏 - 博客频道 - CSDN.NET PS2: 这篇文章中的图片绘图工具使用的是Dia (sudo apt-get install dia).据说yEd也很不 ...
- 批量提取Word中的图片
我在写学习笔记的时候喜欢用word或Evernote直接排版做笔记,好处是快速方便,直接截图插入.但是再刊载在CSND上的时候就有麻烦了,因为不能直接粘贴图片,只能上传到相册中再选取.这时我又不愿意一 ...
- 在CSDN的文章中插入图片
为了在文章中插入图片,我费了大半天的工夫,最近终于搞定了. 希望CSDN在易用性方面做的更好一点.虽说CSDN的bug依旧比较多, 不过可以看出它在不断的改善中,在此也感谢为此付出辛勤劳动的人们.毕竟 ...
- vue样式 引入图片_详解Vue.js中引入图片路径的几种方式
vue --version 3.6.3 记录总结一下的Vue中引入图片路径的几种书写方式 vue中静态资源的引入机制 Vue.js关于静态资源的官方文档 静态资源可以通过两种方式进行处理: 在 Jav ...
- ASP.NET中的图片路径问题
ASP.NET中的图片路径问题,相信大家都遇到过,而且很烦.比如,我们的图片路径是在根目录\images\下,在主页面我们想用里面的图片,在用户控件中我们也想用那个目录下的图片,而用户控件往往我们会把 ...
- mysql 字符串替换:处理历史稿件中的图片路径
REPLACE字符串替换函数 REPLACE(str,from_str,to_str) 示例: select REPLACE('123abcd89', 'abcd', '4567'); 输出结果: 1 ...
最新文章
- 对于容器环境来说 全栈监控究竟意味着什么?
- 标志寄存器的详细解释
- ios fixed定位后内容不显示_HTMLCSS学习笔记(七)-- 定位与锚点
- hibernate 标识符_Hibernate中的标识符
- opc调试软件_组态王和三菱OPC软件完美演绎天塔之光
- 3.1HTML5样式的使用
- 三星电视与计算机连接网络设置,三星电视怎么连接网络看电视?
- 做好准备,让你的短信应用迎接Android 4.4(KitKat)
- linux通过rpm和yum安装包
- Vue源码分析 - compile.js
- 归并排序MergeSort
- BEM —— 源自Yandex的CSS 命名方法论
- 使用ArcGIS实现WGS84经纬度坐标到北京54高斯投影坐标的转换
- python数据分析百度云资源_数据分析师视频教程百度云网盘下载
- linux 达梦 tcp tcpv6,linux下配置ipv6地址
- matlab中nc值是什么意思,科学网-.nc数据读取详细资料matlab2010a及后面的版本-张凌的博文...
- 计算机固态加机械硬盘,在台式机中添加固态/机械硬盘驱动器,让我与这篇文章一起教你...
- OSChina 周二乱弹 —— 掏心掏肺又掏钱,最终娶了个潘金莲
- [渝粤教育] 中国地质大学 大学物理(上) 复习题
- java程序制作 exe执行文件
热门文章
- Win系统 - 超简单!给硬盘来个简易健康体检吧
- 【SMS】SMS协议介绍之IP-SM-GW
- 窄幅震荡突破前高选股公式,选出突破前期高点的标的
- 【运维常用命令】文件和目录操作命令-04-mkdir命令
- 荔枝架构演进历程读后感
- PHPWord设置首行缩进2字符
- 基于JAVA星之语明星周边产品销售网站计算机毕业设计源码+系统+lw文档+部署
- C#利用ASP.NET?Core开发学生管理系统详解
- 《科学》封面文章AlphaCode的重大意义及其思考
- 华为鸿蒙操作系统学习(3):经过上次的编译发现,鸿蒙的整个项目的源代码现在使用的是v1.0版本。原来可以编译3个设备固件,但是只编译成功两个。使用Dockerfile进行源代码的构建,构建成功。