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

相关文章
|
4月前
|
Windows
win10搜索功能失效用不了如何解决|
win10搜索功能失效用不了如何解决|
36 0
|
移动开发
微信h5扫码接口范例:多个扫码框支持的办法,通过引入一个参数来区分及使用localStorage保证之前扫到的数据不丢失
微信h5扫码接口范例:多个扫码框支持的办法,通过引入一个参数来区分及使用localStorage保证之前扫到的数据不丢失
104 0
|
PHP
漏刻有时采用php常用get提交搜索关键词的注意事项
漏刻有时采用php常用get提交搜索关键词的注意事项
54 0
|
PHP 数据库
织梦DEDECMS自动内链一个关键字对应多个链接随机调用的设置方法
利用dedecsm织梦自动内链的时候,可能会有一个关键字对应多个网站,随机调用网址的需求,比如(织梦自动内链)这个关键词一些文章内链链接到网站的首页,一些链接到文章页,但是织梦中原带的功能,一个关键词只能加一个网址,网上找了很多办法也没有找到可用的,还好米米素材网懂一点点php,哪就自己动手吧。下面是织梦自动内链一个关键字对应多个链接,随机调用这些链接的解决办法。
|
前端开发
前端知识学习案例5vs code-搜索和替换全局内容
前端知识学习案例5vs code-搜索和替换全局内容
79 0
前端知识学习案例5vs code-搜索和替换全局内容
|
JavaScript 开发者
get方式提交新闻防止新闻被覆盖掉(补充说明)|学习笔记
快速学习 get 方式提交新闻防止新闻被覆盖掉(补充说明)
115 0
get方式提交新闻防止新闻被覆盖掉(补充说明)|学习笔记
|
数据库
通过互联网搜索接口更新拼写语法库的设计
通过互联网搜索接口更新拼写语法库的设计
66 0
用IHTMLDocument2接口获取页面上想要的数据,代替正则表达式
原文:用IHTMLDocument2接口获取页面上想要的数据,代替正则表达式 原文发布时间为:2010-07-01 —— 来源于本人的百度文章 [由搬家工具导入]1. 用 IHTMLDocument2::all 获得所有元素; 2. 用 IHTMLElementCollection::tags 获得标签为 span 的元素; 3. 用 IHTMLElement::className 获得 class 名为 EX 的元素; 4. 用 IHTMLElement::innerText 获得文本。
1085 0