我们在建站或者写博客的时候,最好将图片本地化,除非是自建的图床,否则外链图片的稳定性无法掌控。纵观很多老站,多年前老文章内的外链图片都已失效,挺可惜的。
ecms发布文章时可以勾选“远程保存图片”,实现图片本地化;这样文章发布以后,文章内容页<img>
标签的src都是站内的url。
但当远程图片已经失效,文章发布以后,<img>
标签会保持原来的外部url;用户浏览页面时会显示一张裂开的失效图片,影响体验。
我们无法恢复失效的外链图片,但可以删除ecms数据库中的失效<img>
标签。
考虑从正则替换入手来实现上述目的,因为成功保存到本地的远程图片<img>
标签的src都已经变为站内链接,例如:
<img src="http://img.d9.ee/..." />
因此我们只需要批量替换数据库中src链接不包含“img.d9.ee”的<img>
标签为空,即可批量删除失效的外链<img>
。
但由于D9对正则替换不是很熟悉,未能实现上述思路。
借助ecms的“批量替换字段值功能”,D9最终实现了失效<img>
标签的批量清除,方法比较笨,但简单有效,步骤如下:
批量替换正常的<img>
标签
在ecms后台,栏目--其他相关--批量替换字段值,选择替换表、操作栏目、替换字段后,将原字符:
img src="http://img.d9.ee
替换为新字符:
simg src="http://img.d9.ee
注意:这里选项设置中的“正则替换”需要勾选,替换字符中不能带尖括号“<”,否则会替换失败。
批量替换所有的<img>
标签
替换方法同上,原字符:
<img src="*" />
新字符空白。
恢复正常的<img>
标签
替换方法同上,原字符:
simg src="http://img.d9.ee
替换为新字符:
img src="http://img.d9.ee
重新生成内容页
批量替换完成以后,别忘了去ecms数据更新中心刷新相关的信息内容页面。
本文由 D9 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Mar 7, 2020 at 05:31 pm