主頁 > 網(wǎng)站建設(shè) > 建站知識 > dedecms站內(nèi)鏈接(描文本)的增強(qiáng)與優(yōu)化

dedecms站內(nèi)鏈接(描文本)的增強(qiáng)與優(yōu)化

POST TIME:2018-04-22 22:14

分享的是dedecms一個(gè)非常實(shí)用的技巧,用過dede的人都知道,dede文章內(nèi)鏈生成需要在后臺添加文章的時(shí)候在關(guān)鍵詞處填上想被鏈接的詞,同時(shí)還要在關(guān)鍵詞維護(hù)中有該關(guān)鍵詞。

由于一篇文章關(guān)鍵詞數(shù)量有限,且文章包含的詞眾多,除了該篇文章主要的關(guān)鍵詞之外,對于其他頁面有所關(guān)系的詞最好也能鏈上,這點(diǎn),盜賊的做得比較好。

那修改一個(gè)地方,可以實(shí)現(xiàn)當(dāng)文章中出現(xiàn)關(guān)鍵詞維護(hù)中的詞的時(shí)候,生成的時(shí)候就會自動鏈接。
修改方式如下:

找到include/arc.archives.class 文件下的:ReplaceKeyword 函數(shù)。

將這部分改成以下代碼:


  1. functionReplaceKeyword($kw,&$body)
  2. {
  3. global$cfg_cmspath;
  4. $maxkey=5;//替換次數(shù)
  5. $kws=explode(”,”,trim($kw));//以分好為間隔符
  6. $i=0;
  7. $karr=$kaarr=$GLOBALS['replaced']=array();
  8. //暫時(shí)屏蔽超鏈接
  9. $body=preg_replace(”/()(.*)(<)(/a>)/isU”,‘\1-]-\4-[-\6',$body);
  10. foreach($kwsas$k)
  11. {
  12. $k=trim($k);
  13. if($k!="")
  14. {
  15. /*if($i>$maxkey)
  16. {
  17. break;
  18. }
  19. $myrow=$this->dsql->GetOne("select*fromdede_keywordswherekeyword='$k'Andrpurl<>''");
  20. if(is_array($myrow))*/
  21. $dsql=newDedeSql(false);
  22. $query="select*fromdede_keywordswhererpurl<>''";
  23. $dsql->SetQuery($query);
  24. $dsql->Execute();
  25. while($row=$dsql->GetArray())
  26. {
  27. $key=trim($row['keyword']);
  28. $rul=trim($row['rpurl']);
  29. if($rul!=”")
  30. if(!in_array($key,$kw))
  31. if(!in_array($kw,$key))
  32. if(substr_count($body,$key)<5)
  33. {
  34. $karr[]=$key;
  35. $kaarr[]=“<ahref=’$rul’><u>$key</u></a>”;
  36. }
  37. }
  38. {
  39. $karr[]=$k;
  40. $GLOBALS['replaced'][$k]=0;
  41. $kaarr[]=“<atarget=&;_blank&;href=&;{$myrow['rpurl']}&;>$k</a>”;
  42. }
  43. $i++;
  44. }
  45. }
  46. $body=preg_replace(”/(^|>)([^<]+)(?=<|$)/sUe”,“_highlight(’\2′,$karr,$kaarr,‘\1′)”,$body);
  47. //恢復(fù)超鏈接
  48. $body=preg_replace(”/()/isU”,‘\1>\3<\4′,$body);
  49. return$body;
  50. }
  51. }//EndArchives


收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266