在线客服与您一对一交流
当前位置: 主页 > 行业新闻 > IT技术 >

Dede织梦关键字交叉重叠替换问题

  织梦在发布文章的时候,关键字替换设计的不是很理想:

  1.发布文章的时候必须在“关键字”文本框中输入要替换的关键字才能被替换;绵阳哪家网站制作公司做的比较好,绵阳做网站推荐阅读>>> 绵阳网站建设:网站关键词竞争程度怎么判断,

  2.如果两个关键字有包含关系时,替换时就会产生重叠替换;

  针对以上问题把问题修改成按关键字的字节数大小替换,例如:有两个关键字“做网站”“做网站公司”那么就先替换做网站公司,再替换下文的做网站。做网站公司与做网站也不会重叠替换。绵阳建立网站,绵阳网站建设推荐阅读>>> 绵阳网站建设,关键词优化的一些技巧,

  修改include中的arc.archivew.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);
global $dsql;
$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;
//echo $words;
}
}
else{
$string = str_replace($words, $result, $string);
}
return $pre.$string;
}
同时修改为:if($arr['type']=='htmltext' && $GLOBALS['cfg_keyword_replace']=='Y')  这样文章在没有设置关键词的情况下也可以替换。

相关文章:

  • 第一次使用的插件是 pdfobject.js 百度网盘下载地址:http://pan.baidu.com/s/1kUPhYdT 加载 script src=/style/js/pdfobject.js /script script type=text/javascript window.onload = function (){ var success = new PDFObject({ url: pdf文件地...

  • 5.7 生成列表页 改动 include/arc.listview.class.php 1.先设置 关闭副栏目(在系统----系统基本参数性能选项里) 2.一般网站不需要 栏目交叉 交叉 所以 找到94行注释掉: //获得交叉栏目ID /*if($this-Type...

  • 1、公共相同部分用引入1个静态文件方式,不解析 2、arclist标签进来不使用属性flag、不使用自定义字段addfields、不使用随机、相同部分用引入1个静态文件方式,不解析 3、tag标签或者关键词内链...

  • Service Unavailable The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later. Apache Server at www.XXX.com Port 80 网站症状:单栏目数据量7万+ 生成栏目504错误或者...

  • 插件界面 插件功能 支持记录当天审核记录 支持可控时间段审核 支持可控栏目审核 支持审核后生成HTML,包括首页,栏目列表页,内容页 支持审核后推送到百度和熊掌 支持查看推送记录 使用...

  • 从SEO优化角度考虑,列表页标题一样有些不好,就想着修改一下,可以从网上有很少这方面的资料,而且不是很完美。自己就动手修改了下,花了不少时间总算有点那么回事了,特记录。 普通...

  • 其实可以参考: DEDECMS织梦PHP主动推送代码(API新增内容和历史内容推送) , 只是API不同而已 ,熊掌号API和搜索资源平台的链接提交不同而已,修改API即可用,下面是创建单独的PHP文件, 需...

  • 一、新增内容主动推送 通过新增内容接口,提交站内 当天新产生内容的链接。新增内容享受24小时内抓取校验、快速展现优待。仅限提交绑定站点下的内容,否则无法成功提交,配额不可累计...

  • 关键词排名是我们做网站经常要查询的内容,但是百度的搜索结果只有76页,所以说我们最多只能查询最多的760位结果,一般我们只关注前十页,二十页的排名。 所以站长工具提供关键词前十...

  • 因为我的后台二次开发过,突然织梦后台验证码不显示,网上的所有方法都试过了,不起作用,真的是让人o疼,经过我不懈努力、坚持不懈、爬山涉水、翻山越岭后竟然发现数据库连接信息的...

  • 公司:绵阳蟠龙网络科技有限公司
  • 联系人:张经理
  • 手机/微信18681637328:
  • Q Q: 点击这里给我发消息
  • 地址:绵阳市雁塔区唐延南路11号逸翠园i都会