新聞中心
Dedecms教程:批量替換文章中的超鏈接
作者 / 無憂主機(jī) 時(shí)間 2015-01-10 20:02:18
無憂小編在自己php空間中的一個(gè)網(wǎng)站由以前采集里面有很多連接沒有過濾掉,現(xiàn)在想再過濾這些連接了,在網(wǎng)上搜尋了很多,終于找到了一個(gè)解決辦法,由于涉及到正則匹配與SQL調(diào)用的技巧,無憂主機(jī)小編在這里為大家介紹一下關(guān)于dedecms批量替換文章中超鏈接的方法分享給、給各位朋友有需要的參考. 首先我們在主網(wǎng)站空間的根目錄下創(chuàng)建一個(gè)replace.php文件,將一下代碼添加進(jìn)去:
require("data/common.inc.php"); $conn=mysql_connect($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd) or die("數(shù)據(jù)庫服務(wù)器鏈接失敗"); mysql_select_db($cfg_dbname) or die ("數(shù)據(jù)庫打開失敗"); mysql_query("SET NAMES 'gbk'"); $sql="select * from {$cfg_dbprefix}addonarticle order by aid desc"; $result=mysql_query($sql); while($rows=mysql_fetch_array($result)) { $body=$rows["body"]; $newbody=preg_replace("/(?<=href=)([^>]*)(?=>)/i","http://www.gle-technology.com", $body); $sqlu="update {$cfg_dbprefix}addonarticle set body='".$newbody."' where aid=".$rows["aid"]; $resultu=mysql_query($sqlu); if(!$resultu) { $eoo[]=$rows["aid"]; } } if(isset($eoo)) { echo "有錯(cuò)誤,有錯(cuò)誤的ID如下:"; print_r($eoo); } else { echo "執(zhí)行成功"; } ?>這是一種可行的方法,還有一種辦法在dedecms后臺(tái)中執(zhí)行sql命令方式下載替換,語句 DEDECMS SQL命令批量替換。更改文章中的內(nèi)容,代碼如下:
update dede_addonarticle set body=replace(body,'原來的字符','替換后的字符')批量替換文章模型中內(nèi)容部分超鏈接,代碼如下:
Update dede_addonarticle set body=replace(body,'href="http://www.xxxx.net','href="http://www.gle-technology.com');也就是替換成你要修改的:把文章模型中的超鏈接由原來的http://www.xxxx.net替換成http://www.gle-technology.com 經(jīng)過小編的測試,OK!但愿能夠幫到有需要的朋友。 無憂主機(jī)相關(guān)文章推薦閱讀: DEDECMS如何利用模板更改后臺(tái)的整個(gè)登陸界面 DEDECMS安全:如何預(yù)防投票模塊漏洞的SQL注入 織夢DEDECMS會(huì)員留言表被SQL注入如何快速刪除 DEDECMS經(jīng)驗(yàn):教你如何給文章添加“當(dāng)前文檔地址”和“轉(zhuǎn)載說明”
本文地址:http://www.gle-technology.com/dedecms/18276.html