近日,由于工作需要,用dedecms系统采集了一些数据,但是文章内的图片是不需要的,怎么批量删除呢?织梦后台是有数据库替换和SQL命令行工具的,一般的文字等其它固定字段,很容易就替换了。但图片的链接地址和大小都是不固定的,因此,就需要使用正则表达式来匹配。
网上找的都千篇一律,看来真是天下文章一大抄啊,在此截图,以防站长再次浪费时间
以上两种方法能删除img标签,但是,会发生很严重的问题,就是图片后面的所有内容也都被替换删除了,只保留了图片前面的文章内容,这样的方法是不行的。
发菜经过测试,终于用下面的方法可以完美解决<img> 及<a></a>批量删除问题。
解决方法
注意:记得在织梦后台先备份一下数据库,以防万一。
织梦后台-系统-SQL命令行工具,执行下面语句
update dede_addonarticle set body=replace(body,substring(body,locate('<a',body),locate('>',body,locate('<a ', body))+1-locate('<a',body)),'')
注意:每点一次只替换一次,也就是说,如果你一篇文章里有多张图片,就要点多次,一次只替换一张。
批量删除<a></a>标签,也是同理操作,代码如下:
update dede_addonarticle set body=replace(body,substring(body,locate('<a',body),locate('>',body,locate('<a ', body))+1-locate('<a',body)),'');
update dede_addonarticle set body=replace(body,'</a>','')
多个的话也需要替换多次。
至此,批量删除文章内img标签的问题完美解决,希望对你有所帮助。