欢迎来到六久阁织梦模板网!
织梦关键词维护里面字数多的词优先字数少的词自动内链

织梦关键词维护里面字数多的词优先字数少的词自动内链

浏览次数: 0

作者: 六久阁织梦模板网

信息来源: 六久阁

更新日期: 2017-08-09

文章简介

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

  • 正文开始
  • 热门文章

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

 

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

function ReplaceKeyword($kw,&$body)
    {
        global $cfg_cmspath;
        $maxkey = 5;
        $kws = explode(",",trim($kw));    //以分好为间隔符
        $i=0;
        $karr = $kaarr = $GLOBALS['replaced'] = array();

        //暂时屏蔽超链接
        $body = preg_replace("#(<a(.*))(>)(.*)(<)(\/a>)#isU", '\\1-]-\\4-[-\\6', $body);

        /*
        foreach($kws as $k)
        {
            $k = trim($k);
            if($k!="")
            {
                if($i > $maxkey)
                {
                    break;
                }
                $myrow = $this->dsql->GetOne("SELECT * FROM dede_keywords WHERE keyword='$k' AND rpurl<>'' ");
                if(is_array($myrow))
                {
                    $karr[] = $k;
                    $GLOBALS['replaced'][$k] = 0;
                    $kaarr[] = "<a href='{$myrow['rpurl']}'><u>$k</u></a>";
                }
                $i++;
            }
        }
        */
        $query = "SELECT * FROM dede_keywords WHERE rpurl<>'' ORDER BY rank DESC";
        $this->dsql->SetQuery($query);
        $this->dsql->Execute();
        while($row = $this->dsql->GetArray())
        {
            $key = trim($row['keyword']);
            $key_url=trim($row['rpurl']);
            $karr[] = $key;
            $kaarr[] = "<a href='$key_url' target='_blank'><u>$key</u></a>";
        }

        // 这里可能会有错误 六久阁http://www.lol9.cn
        $body = @preg_replace("#(^|>)([^<]+)(?=<|$)#sUe", "_highlight('\\2', \$karr, \$kaarr, '\\1')", $body);

        //恢复超链接
        $body = preg_replace("#(<a(.*))-\]-(.*)-\[-(\/a>)#isU", '\\1>\\3<\\4', $body);
        return $body;
    }


找到后将其替换为如下代码:

    function ReplaceKeyword($kw,&$body)
    {
    global $cfg_cmspath,$dsql;
    $maxkey = 5;
    $kws = explode(",",trim($kw)); //以分好为间隔符
    $i=0;
    $karr = $kaarr = $GLOBALS['replaced'] = array();
    //暂时屏蔽超链接
    $body = preg_replace("/(<a(.*))(>)(.*)(<)(\/a>)/isU", '\\1-]-\\4-[-\\6', $body);
    $query="SELECT * FROM dede_keywords WHERE rpurl<>'' and sta=1 ORDER BY length(keyword)desc";
    $dsql->SetQuery($query);
    $dsql->Execute();
    while($row = $dsql->GetArray())
    {
    $key = trim($row['keyword']);
    $key_url=trim($row['rpurl']);
    $karr[] = $key;
    $kaarr[] = "<u><a href='$key_url' target='_blank'>$key</a></u>";
    }
    foreach ($karr as $key => $word)
    {
    $body = preg_replace("/(^|>)([^<]+)(?=<|$)/sUe", "_highlight('\\2', \$karr[$key], \$kaarr[$key],


'\\1')", $body);
    //echo $body."<br/>";
    //恢复超链接
    $body = preg_replace("/(<a(.*))-\]-(.*)-\[-(\/a>)/isU", '\\1>\\3<\\4', $body);//暂时屏蔽超链接
    $body = preg_replace("/(<a(.*))(>)(.*)(<)(\/a>)/isU", '\\1-]-\\4-[-\\6', $body);
    }
    //恢复超链接
    $body = preg_replace("/(<a(.*))-\]-(.*)-\[-(\/a>)/isU", '\\1>\\3<\\4', $body);


    return $body;
    }
    }
    //End Archives
    //高亮专用, 替换多次是可能不能达到最多次
    function _highlight($string, $words, $result, $pre)
    {
    global $cfg_replace_num;
    $string = str_replace('\"', '"', $string);
if($GLOBALS['replaced'][$words] == 1){
    return $pre.$string;
    }
if($cfg_replace_num > 0){
    $string = preg_replace("/".preg_quote($words)."/", $result, $string, $cfg_replace_num);
    if(strpos($string, $words) !== false)
    {
        $GLOBALS['replaced'][$words] = 1;
        }
        }
else{$string = str_replace($words, $result, $string);
}
return $pre.$string;
}


替换完成后保存即可,然后重新生成整站

织梦二次开发QQ群

本站客服QQ号:862782808(点击左边QQ号交流),群号(383578617) DedeCMS织梦教程QQ群 如果您有任何织梦问题,请把问题发到群里,阁主将为您写解决教程!

转载请注明: 织梦模板 » 织梦关键词维护里面字数多的词优先字数少的词自动内链

  • 织梦dedecms手机站m目录下不生成index.html实现动态更新
    阅读
    用 织梦建站 会手机站首页不更新的苦恼,每次 PC 更新,要去删除 m 目录下的 index.html ,手机站首页才会更新,这样很麻烦,通过以下修改,让手机站首页是动态的,不生成 index.html , PC 端更新后,手机端首页自动更新。 把 \m\index.php 里面的 $row[sho...
  • 织梦Fatal error: Call to undefined function make_hash() in /dede/sys_info.php on line 201的解决方法
    阅读
    织梦系统安装好后,进入后台,出现Fatal error: Call to undefined function make_hash() in /dede/sys_info.php on line 201 一般出现这个问题是因为升级网站引起的。我们可以直接把错误提示这段代码删除或者屏蔽就行了。 打开/dede/sys_info.php,找到201...
  • 织梦Dedecms 5.7 火车头采集免登陆发布接口适配PHP7.X插件
    阅读
    最近有粉丝说,之前用的火车头发布文章时,用免登陆接口在PHP7.0环境中显示空白,于是今天抽空更新了一下插件(话说,DedeCms早期版本无法在PHP7.X运行,用最新版的!),那么接下来的代码就是插件发布模块无须变更,只需要变更接口插件就可以了 ?php/*/////...
  • 织梦dedecms提交自定义表单后发送到指定邮箱
    阅读
    网上很多教程都是用 dedecms 自带的邮件库发送邮件,而且是写死要发送的字段内容,今天我们用 phpmailer 来给站长发送自定义表单提交的数据到指定邮箱上 (QQ 邮箱, 163 邮箱都可以 ) ,不写死任何东西,有什么字段就提交发送什么字段。 操作之前,我们要先...
  • 织梦dedecms系统多城市分站功能开发思路
    阅读
    当前很多人用织梦dedecms系统建站,多城市分站对地方性长尾关键词和全国市场的推广有着很大的帮助,今天和大家分享下如何实现织梦dedecms系统多城市分站功能。 方法/步骤 织梦dede城市分站有三种方法: 第一种是建立N多个模板,有多少个城市建立多少个模板,...
  • 织梦dedecms网站添加打赏功能
    阅读
    有时我们看到别人家的织梦dedecms网站有打赏功能,是不是羡慕嫉妒恨呢?今天我来给大家讲讲织梦网站怎么添加支付宝、微信打赏功能。 二、首先登陆畅言后台(没有畅言账号的首先注册账号) 三、进入后台,找到实验室--打赏 四、设置配置信息,保存。 五、复制...
  • dedecms织梦ckplayer视频播放器插件详细安装教程
    阅读
    织梦 ckplayer 视频播放器插件安装步骤: 第一步、下载安装插件。下载地址:点击此处 将下载下来的压缩包中的相应编码的模块文件解压出来再上传到织梦程序的 data/module/ 文件夹内或者直接在后台模块管理菜单里面选择上传新模块安装即可。如下图: 1.1 )上...
  • 织梦火车头采集免登陆接口采集文章后自动更新栏目、首页、文章页,实现自动化采集
    阅读
    最近用织梦dedecms程序采集文章时候,发现每次采集都要去后台更新一下文章、栏目、上下篇以及首页,操作起来真心麻烦,后面在网上收集了一些代码以及经过自己调试,发现居然可以自动更新文章页以及栏目、首页。真心爽,这样子就能稳稳的挂机采集了哈。这是免...
  • 织梦获取当前栏目id并判断使当前导航栏目高亮
    阅读
    织梦导航栏目高亮代码如下: {dede:field name=typeid runphp=yes} if(@me==8) @me=1; else @me=0; {/dede:field} 导航的写法, 比如:lia href={dede:type typeid=7}[field:typelink /]{/dede:type} {dede:field name=typeid runphp=yes} if(@me==7) @me=cl...
  • 织梦手机站下一篇变上一篇而且还出错Request Error!
    阅读
    最新的织梦dedecms程序手机版下一篇变上一篇而且还出错Request Error!,这是因为官方写错了一个地方 打开 /include/arc.archives.class.php 找到 $mlink = view.php?aid=.$preRow[id]; 注意:这个文件里面有2个上面的代码,真正要改的是大概在 839 行 改成 $...
收藏此文 打赏本站

如本文对您有帮助,就请六久阁织梦模板网抽根烟吧!

  • 支付宝打赏
    支付宝扫描打赏
    微信打赏
    微信扫描打赏
织梦数据保存到数据库附加表 `dede_addonarticle` 时出错终极解决方法
« 上一篇 2017年08月09日
织梦DEDECMS列表页缩略图随机调用教程
下一篇 » 2017年08月09日

精彩评论

有问题在这里提问,阁主会为你解决!
  • 全部评论(0
    还没有评论,快来抢沙发吧!
推荐织梦插件更多
更新时间:2019-07-13

人已经看过了!

更新时间:2019-10-11

人已经看过了!

更新时间:2017-10-11

人已经看过了!

更新时间:2018-04-15

人已经看过了!

更新时间:2017-07-16

人已经看过了!

更新时间:2018-09-14

人已经看过了!

更新时间:2017-07-07

人已经看过了!

更新时间:2020-02-25

人已经看过了!

推荐精品模板更多
织梦文学资讯散文美文门户站带手机端会员中心投稿
更新时间:2019-09-06

人已经看过了!

响应式照明灯饰类织梦模板(自适应手机端)
更新时间:2018-04-26

人已经看过了!

响应式精细零件五金类企业织梦模板(自适应手机端)
更新时间:2018-04-14

人已经看过了!

织梦简洁好看小说模板源码下载带手机端
更新时间:2019-12-15

人已经看过了!

营销型办公家具家居类织梦模板(带手机端)
更新时间:2018-04-17

人已经看过了!

织梦中英双语服装连锁加盟店模板(响应式自适应)
更新时间:2019-09-19

人已经看过了!