在使用DedecmsCMS构建网站时,确保会员中心发布文章时能够自动过滤外部链接是一项重要的功能。这一功能可以帮助网站管理员有效管理内容质量,防止恶意链接的传播。虽然DedecmsCMS默认后台具备类似的功能,但在会员模块中并未实现。本文将详细介绍如何通过修改代码,使会员发布的文章自动过滤外部链接,同时保留站内链接。

我们可以将此功能集成到会员模块中,以实现自动过滤外部链接的目标。
实现教程
第一步是打开文件 /member/inc/inc_archives_functions.php,并在文件的最下方插入以下代码:
/**
* 删除非站内链接
*
* @access public
* @param string $body 内容
* @param array $allow_urls 允许的超链接
* @return string
*/
function Replace_Links( &$body, $allow_urls=array() )
{
$host_rule = join('|', $allow_urls);
$host_rule = preg_replace("#[\\\\n\\\\r]#", '', $host_rule);
$host_rule = str_replace('.', "\\\\\\\\", $host_rule);
$host_rule = str_replace('/', "\\\\/", $host_rule);
$arr = '';
preg_match_all("#]*)>(.*)#iU", $body, $arr);
if( is_array($arr[0]) )
{
$