在使用DedecmsCMS构建网站时,确保会员中心发布文章时能够自动过滤外部链接是一项重要的功能。这一功能可以帮助网站管理员有效管理内容质量,防止恶意链接的传播。虽然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]) )
    {
        $