DedeCMS织梦文档关键词维护中设置自动关键词重复嵌套出错的修改方法

简介: 织梦 DedeCMS 后台的关键词维护默认的情况是字数少的词优先于字数多的词,比如我们有两个这样的词:锚文本、定向锚文本,第二个词包含了第一个词,在文章中如果出现“定向锚文本”这个词,默认情况下只会给锚文本两个字添加关键词超链接,而不是整个词,那么我们怎么样才能实现字数多的词优先于字数少的词呢?

织梦 DedeCMS 后台的关键词维护默认的情况是字数少的词优先于字数多的词,比如我们有两个这样的词:锚文本定向锚文本,第二个词包含了第一个词,在文章中如果出现“定向锚文本”这个词,默认情况下只会给锚文本两个字添加关键词超链接,而不是整个词,那么我们怎么样才能实现字数多的词优先于字数少的词呢?下面就告诉大家具体的解决方法:

我们找到并打开/include/arc.archives.class.php 文件,在里面找到如下代码:

//高亮专用, 替换多次是可能不能达到最多次

function _highlight($string,$words,$result,$pre)

{

global$cfg_replace_num;

$string=str_replace('"','"',$string);

找到后在其下面添加下面一行代码:

uasort($words,create_function('$a, $b','return strlen($a)>strlen($b);'));

最后变成下面的样子:

//高亮专用, 替换多次是可能不能达到最多次

function _highlight($string,$words,$result,$pre)

{

global$cfg_replace_num;

$string=str_replace('"','"',$string);

uasort($words,create_function('$a, $b','return strlen($a)>strlen($b);'));

替换完成后保存即可,然后生成一下文章内容试试。如果你用的是最新版的 dedecms,那么可能找不到上面的代码。

最新版织梦 dedecms 查找以下代码:

//高亮专用, 替换多次是可能不能达到最多次

function _highlight($string,$words,$result,$pre)

{

global$cfg_replace_num;

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

{

$string=$string[0];

$pre=$pre[0];

}

$string=str_replace('"','"',$string);

在这段代码的后面加上前面的语句,变成:

//高亮专用, 替换多次是可能不能达到最多次

function _highlight($string,$words,$result,$pre)

{

global$cfg_replace_num;

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

{

$string=$string[0];

$pre=$pre[0];

}

$string=str_replace('"','"',$string);

uasort($words,create_function('$a, $b','return strlen($a)>strlen($b);'));

这样修改的原理是优先给较短的关键词添加链接,而后再给较长的关键词添加链接,从而达到防止嵌套的问题。

PS:修改系统文件之前最好对要修改的文件做一下备份,以防出错.参考链接:https://www.mimisucai.com/teach/202344568.html

相关文章
|
PHP C++
DEDE检测重复自定义字段禁止发布
织梦文档重复,要怎么实现标题重复时不允许发文章,其实后台是有个重复检测功能,但是添加文章的时候都能添加成,这显然没什么用原来的检测功能,现在我们要做的是在点击添加文章保存按钮之前,做下检测重复文档的操作,判断如果存在重复文档,提示,并且退出保存文章的函数。
1115 0
|
SEO 监控 搜索推荐
修改或删除旧文章会影响SEO排名吗?
如何最大化旧SEO博客帖子的自然价值 如果您曾经参与过SEO活动或管理过网站,那么您已经听过“内容为王”的短语。 虽然陈述是陈词滥调,但这并没有错。 在百度的鼓励下,搜索引擎优化一直在敦促他们的营销伙伴定期创建尽可能多的高质量,有针对性的内容。
1274 0
dedecms如何增加自定义字段
  开源的cms比较好的一点是可以根据自己的需求来开发相应的功能,比如dedecms想要增加一个专家职称字段调用要怎么调用呢?   增加自定义字段:后台找到 “核心” - 频道模型 - 内容模型管理 - 字段管理 - 添加新字段,如下图所示   字段添加好了,怎样把这些字段内容调用出来呢? ...
993 0
|
Web App开发 安全 Windows
win10_x64更新错误解决: 安装一些更新时出现问题,但我们稍后会重试。如果持续出现这些问题,并且你想要搜索Web或联系支持人员以获取相关信息,以下信息可能会对你有帮助:
可能的原因:  1、windows 服务没打开 win+r,打开【运行】对话框 输入 【service.msc】 找到 【Windows Firewall】和【Internet connection sharing】 都启动,并设为【自动】,重新启动 【设置】--【更新和安全】 2、设置的代理,但是代理没打开 将设置的代理服务器打开。
7103 0
|
.NET 数据库 安全
ASP.NET | 从零到一实战分析对后台数据库增加数据、模糊查找、精确查找并展示
新建: 新建数据库mydb.mdf、添加表: 更新数据库; 右击数据库,选择属性,复制连接字符串;(这里之前做过了,就简单点过不做细节。
1346 0
整理的dedecms标签大全,方便查找
  平时用dedecms开发经常会用到一些标签,特别是首页、栏目页、内容页,这些页面都会用到标签的调用,比如title、keywords、description、arclist、field.body等,为了方便查找,ytkah特地整理了dedecms标签,大家可以用ctrl+F实现搜索。
1614 0

热门文章

最新文章