近日,由于工作需要,用dedecms系統(tǒng)采集了一些數(shù)據(jù),但是文章內(nèi)的圖片是不需要的,怎么批量刪除呢?織夢后臺是有數(shù)據(jù)庫替換和SQL命令行工具的,一般的文字等其它固定字段,很容易就替換了。但圖片的鏈接地址和大小都是不固定的,因此,就需要使用正則表達(dá)式來匹配。
網(wǎng)上找的都千篇一律,看來真是天下文章一大抄啊,在此截圖,以防站長再次浪費(fèi)時(shí)間
以上兩種方法能刪除img標(biāo)簽,但是,會發(fā)生很嚴(yán)重的問題,就是圖片后面的所有內(nèi)容也都被替換刪除了,只保留了圖片前面的文章內(nèi)容,這樣的方法是不行的。
發(fā)菜經(jīng)過測試,終于用下面的方法可以完美解決<img> 及<a></a>批量刪除問題。
解決方法
注意:記得在織夢后臺先備份一下數(shù)據(jù)庫,以防萬一。
織夢后臺-系統(tǒng)-SQL命令行工具,執(zhí)行下面語句
update dede_addonarticle set body=replace(body,substring(body,locate('<a',body),locate('>',body,locate('<a ', body))+1-locate('<a',body)),'')
注意:每點(diǎn)一次只替換一次,也就是說,如果你一篇文章里有多張圖片,就要點(diǎn)多次,一次只替換一張。
批量刪除<a></a>標(biāo)簽,也是同理操作,代碼如下:
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>','')
多個(gè)的話也需要替換多次。
至此,批量刪除文章內(nèi)img標(biāo)簽的問題完美解決,希望對你有所幫助。