织梦DEDECMS关键词自动内链中长短优先级问题的解决方法

页面开发过程中,经常遇到这种在一篇文章里面同时出现“手机”、“5G手机”、“苹果5G手机”这几个关键字,程序会优先使用短的词的链接。而后台已经设置了这几个关键词的内链,这个时候前台链接就会错乱。

解决方法

打开:/include/arc.archives.class.php 搜索

$query = "SELECT * FROM #@__keywords WHERE rpurl<>'' ORDER BY rank DESC";

改为

$query = "SELECT char_length(keyword) AS num,aid,keyword,rpurl,rank FROM #@__keywords WHERE rpurl<>'' ORDER BY num DESC";

继续找到

"#".preg_quote($word)."#"

改为

"#".preg_quote($word)."(?!<)#"

这样就不会出现链接错乱的问题了。

打赏激励--若您觉得本文对您有所价值,请给我们打赏,这将是我们前进路上源源不绝的动力。
  • 请用 微信 给我们打赏

  • 请用 支付宝 给我们打赏

  • 扫一扫直接在微信中阅读

加群交流
本站群号二:41794974,本群适用于讨论dedecms模板制作、标签调用、问题求助、二次开发等相关话题。为营造良好的群内环境,拒绝闲聊、广告、黄赌毒等出现,一经发现违规,直接踢出。谢谢合作!
在线分享
  • 微信好友
  • QQ好友
  • QQ空间
  • 腾讯微博
  • 新浪微博
  • 豆瓣网
  • 百度贴吧