织梦dede5.7自动添加关键词内链

织梦dede5.7自动添加关键词内链

新闻资讯 2020-07-10 | 作者:郑州融科网络

按照网上的教程步骤做了之后可是还是没有出现自动锚文本呢。经过无数次调试,终于成功实现自动锚文本了。 郑州网站制作这个修改目前测试适合dedecmsV5.7SP2,其他版本暂未测试。 

网上的教程都提到了这个步骤来修改实现:设置步骤:进入后台 核心->批量维护->文档关键词维护 的设置。是的,可是按照这个步骤做了之后可是还是没有出现自动锚文本呢。深入arc.archive.class.php文件研究了数个小时之后,经过无数次调试,终于成功实现自动锚文本了。

下面就来详细说明怎么修改来实现织梦自动锚文本。首先也是按照网上的说明设置好文档关键词对应的链接,这里需要注意这里的链接有长度限制,意味着链接不能太长否则会被系统自动截取。之后找到/include/arc.archive.class.php文件。

找到function ReplaceKeyword($kw,&$body),

注释函数体里面的掉这几行代码:  if (version_compare(PHP_VERSION, '5.5.0', '>='))

        {

            $body = @preg_replace_callback("#(^|>)([^<]+)(?=<|$)#sU", "_highlight('\2', $karr, $kaarr, '\1', 'www.zjzhipai.com/a/kaifajishu/2017/0319/33.html')", $body);

        } else {

             $body = @preg_replace("#(^|>)([^<]+)(?=<|$)#sUe", "_highlight('\2', $karr, $kaarr, '\1')", $body);

        }在下面加入一行:$body = _highlight($body, $karr, $kaarr, '');

再找到function _highlight($string, $words, $result, $pre)注释函数体里的:

if (version_compare(PHP_VERSION, '5.5.0', '>='))

     {

         $string = $string[0];

        $pre = $pre[0];

    } 就完成了,重新编译(生成)文档就能看到自动生成的锚文本啦。

另外如果需要忽略大小写,在function _highlight中把$string = preg_replace("#".preg_quote($word)."#", $result[$key], $string, $cfg_replace_num);替换成$string = preg_replace("#".preg_quote($word)."#i", $result[$key], $string, $cfg_replace_num);就能忽略大小写的自动锚文本内链了。

这个修改目前测试适合dedecmsV5.7SP2,其他版本暂未测试。

本文章网址:http://www.zznk.cn/dede/220.html转载请注明出处,谢谢合作!
本文标签:织梦 步骤 函数 代码 锚文本