按照网上的教程步骤做了之后可是还是没有出现自动锚文本呢。经过无数次调试,终于成功实现自动锚文本了。 上海网站制作这个修改目前测试适合dedecmsV5.7SP2,其他版本暂未测试。
按照网上的教程步骤做了之后可是还是没有出现自动锚文本呢。经过无数次调试,终于成功实现自动锚文本了。 上海网站制作这个修改目前测试适合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,其他版本暂未测试。
声明:本站转载自网络,版权归原作者所有,文章所述观点并非翼好网络的观点,如有侵权请第一时间联系我们时间进行删除。翼好网络是一家正规的上海网站建设公司,欢迎前来咨询建站业务!