這篇文章主要為大家介紹了dedecms批量替換文章中超鏈接的方法,涉及正則匹配與SQL調(diào)用的技巧,需要的朋友可以參考下
本文實(shí)例講述了dedecms批量替換文章中超鏈接的方法。分享給大家供大家參考。具體分析如下:
我自己的一個(gè)網(wǎng)站由以前采集里面有很多連接沒(méi)有過(guò)濾掉,現(xiàn)在想再過(guò)濾這些連接了,找了很多找到了一個(gè)解決辦法,下面分享給各位朋友有需要的參考.
把下面代碼replace.php保存在你網(wǎng)站根目錄,具體代碼如下:
代碼如下:
require("data/common.inc.php");
$conn=mysql_connect($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd) or die("數(shù)據(jù)庫(kù)服務(wù)器鏈接失敗");
mysql_select_db($cfg_dbname) or die ("數(shù)據(jù)庫(kù)打開(kāi)失敗");
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.jb51.net", $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)中的sql命令方式下載替換,語(yǔ)句 DEDECMS SQL命令批量替換.
更改文章中的內(nèi)容,代碼如下:
代碼如下:
update dede_addonarticle set body=replace(body,'原來(lái)的字符','替換后的字符')
批量替換文章模型中內(nèi)容部分超鏈接,代碼如下:
代碼如下:
update dede_addonarticle set body=replace(body,');
例子解釋:把文章模型中的超鏈接由原來(lái)的http://www.xxxx.net替換成http://www.jb51.net
希望本文所述對(duì)大家的dedecms建站有所幫助。