帝國CMS編輯發布文章時,有時因為文章來源于其他網站,因此粘貼時不可避免地會帶有原網站的文章內容格式(可以用帝國CMS編輯器的清除格式功能解決)和站外鏈接(指對方網站的內文鏈接和圖片鏈接)。

那,有沒有更加智能和快捷的方法,可以一勞永逸地解決呢?
PS.此解決方法,也許只適合帝國CMS7.2版無法刪除非本站鏈接的問題。

打開文件\e\class\hinfofun.php

1、在文件最后即“?>”之前,添加如下代碼:

function Replace_Links($body)
{
$host_rule = $_SERVER[‘HTTP_HOST’];
$arr = ”;
preg_match_all(“#]*)>(.*)#iU”, $body, $arr);
if( is_array($arr[0]) )
{
$rparr = array();
$tgarr = array();
foreach($arr[0] as $i=>$v)
{
if( $host_rule != ” && preg_match(‘#’.$host_rule.’#i’, $arr[1][$i]) )
{
continue;
} else {
$rparr[] = $v;
$tgarr[] = $arr[2][$i];
}
}
if( !empty($rparr) )
{
$body = str_replace($rparr, $tgarr, $body);
}
}
$arr = $rparr = $tgarr = ”;
return $body;
}

2、查找if(!$add[id]||!$add[title]||!$add[classid]||!$add[filename])在其上面添加如下代碼:

//帝國刪除非本站鏈接
$add[‘newstext’] = Replace_Links($add[‘newstext’]);

3、查找$ret_r=ReturnAddF($add,$class_r[$add[classid]][modid],$userid,$username,0,0,1);//返回自定義字段,在其上面添加:

//帝國刪除非本站鏈接
$add[‘newstext’] = Replace_Links($add[‘newstext’]);