手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

织梦实现自动锚文本内链

时间:2024-10-17 00:12:13

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

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

3、找到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, '');

4、再找到function _highlight($string, $words, $result, $pre)注释函数体里的:if (version_compare(PHP_VERSION, '5.5.0', '>=')) { $string = $string[0]; $pre = $pre[0]; }就完成了,重新编译(生成)文档就能看到自动生成的锚文本啦。

5、另外如果需要忽略大小写,在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);就能忽略大小写的自动锚文本内链了。

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

© 手抄报圈