Dede織夢關鍵字交叉重疊替換問題
織夢在發(fā)布文章的時候,關鍵字替換設計的不是很理想:
1.發(fā)布文章的時候必須在“關鍵字”文本框中輸入要替換的關鍵字才能被替換;西安哪家網(wǎng)站制作公司做的比較好,西安做網(wǎng)站推薦閱讀>>> 西安網(wǎng)站建設:網(wǎng)站關鍵詞競爭程度怎么判斷,
2.如果兩個關鍵字有包含關系時,替換時就會產(chǎn)生重疊替換;
針對以上問題把問題修改成按關鍵字的字節(jié)數(shù)大小替換,例如:有兩個關鍵字“做網(wǎng)站”“做網(wǎng)站公司”那么就先替換做網(wǎng)站公司,再替換下文的做網(wǎng)站。做網(wǎng)站公司與做網(wǎng)站也不會重疊替換。西安建立網(wǎng)站,西安網(wǎng)站建設推薦閱讀>>> 西安網(wǎng)站建設,關鍵詞優(yōu)化的一些技巧,
修改include中的arc.archivew.class.php文件中的最后兩個函數(shù)。
同時修改為: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 百度網(wǎng)盤下載地址: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.先設置 關閉副欄目(在系統(tǒng)----系統(tǒng)基本參數(shù)性能選項里) 2.一般網(wǎng)站不需要 欄目交叉 交叉 所以 找到94行注釋掉: //獲得交叉欄目ID /*if($this-Type...
-
1、公共相同部分用引入1個靜態(tài)文件方式,不解析 2、arclist標簽進來不使用屬性flag、不使用自定義字段addfields、不使用隨機、相同部分用引入1個靜態(tài)文件方式,不解析 3、tag標簽或者關鍵詞內(nèi)鏈...
-
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 網(wǎng)站癥狀:單欄目數(shù)據(jù)量7萬+ 生成欄目504錯誤或者...
-
插件界面 插件功能 支持記錄當天審核記錄 支持可控時間段審核 支持可控欄目審核 支持審核后生成HTML,包括首頁,欄目列表頁,內(nèi)容頁 支持審核后推送到百度和熊掌 支持查看推送記錄 使用...
-
從SEO優(yōu)化角度考慮,列表頁標題一樣有些不好,就想著修改一下,可以從網(wǎng)上有很少這方面的資料,而且不是很完美。自己就動手修改了下,花了不少時間總算有點那么回事了,特記錄。 普通...
-
其實可以參考: DEDECMS織夢PHP主動推送代碼(API新增內(nèi)容和歷史內(nèi)容推送) , 只是API不同而已 ,熊掌號API和搜索資源平臺的鏈接提交不同而已,修改API即可用,下面是創(chuàng)建單獨的PHP文件, 需...
-
一、新增內(nèi)容主動推送 通過新增內(nèi)容接口,提交站內(nèi) 當天新產(chǎn)生內(nèi)容的鏈接。新增內(nèi)容享受24小時內(nèi)抓取校驗、快速展現(xiàn)優(yōu)待。僅限提交綁定站點下的內(nèi)容,否則無法成功提交,配額不可累計...
-
關鍵詞排名是我們做網(wǎng)站經(jīng)常要查詢的內(nèi)容,但是百度的搜索結果只有76頁,所以說我們最多只能查詢最多的760位結果,一般我們只關注前十頁,二十頁的排名。 所以站長工具提供關鍵詞前十...
-
因為我的后臺二次開發(fā)過,突然織夢后臺驗證碼不顯示,網(wǎng)上的所有方法都試過了,不起作用,真的是讓人o疼,經(jīng)過我不懈努力、堅持不懈、爬山涉水、翻山越嶺后竟然發(fā)現(xiàn)數(shù)據(jù)庫連接信息的...