Dede织梦关键字交叉重叠替换问题
织梦在发布文章的时候,关键字替换设计的不是很理想:
1.发布文章的时候必须在“关键字”文本框中输入要替换的关键字才能被替换;西安哪家网站制作公司做的比较好,西安做网站推荐阅读>>> 西安网站建设:网站关键词竞争程度怎么判断,
2.如果两个关键字有包含关系时,替换时就会产生重叠替换;
针对以上问题把问题修改成按关键字的字节数大小替换,例如:有两个关键字“做网站”“做网站公司”那么就先替换做网站公司,再替换下文的做网站。做网站公司与做网站也不会重叠替换。西安建立网站,西安网站建设推荐阅读>>> 西安网站建设,关键词优化的一些技巧,
修改include中的arc.archivew.class.php文件中的最后两个函数。
同时修改为:if($arr['type']=='htmltext' && $GLOBALS['cfg_keyword_replace']=='Y') 这样文章在没有设置关键词的情况下也可以替换。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;}
相关文章:
-
第一次使用的插件是 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疼,经过我不懈努力、坚持不懈、爬山涉水、翻山越岭后竟然发现数据库连接信息的...
- 上一篇:竞价推广账户优化完善技巧
- 下一篇:织梦跳转网址修改优化,直接显示跳转网址