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])在其上面添加如下代码:
//帝国删除非本站链接 By 跟版网( QQ 2655101040)
$add['newstext'] = Replace_Links($add['newstext']);
3、查找$ret_r=ReturnAddF($add,$class_r[$add[classid]][modid],$userid,$username,0,0,1);//返回自定义字段在其上面添加
//帝国删除非本站链接 By 跟版网(kuoyl.com QQ 2655101040)
$add['newstext'] = Replace_Links($add['newstext']);
通过以上三步就可以让帝国cms添加或编辑文章的时候删除非本站链接了,其中用到的函数为dedecms删除本站链接的方法