简单三步实现自动内链功能(只替换一次!!)文本文件编缉关键字!!

2016-07-07 14:55 来源:www.chinab4c.com 作者:ecshop专家



第一步:在根目录\data\建立文本文件urls.txt(关键字格式如: 百度---http://www.baidu.com)
第二步:在article.php中找到以下代码
  1. if (empty($row['author']) || $row['author'] == '_SHOPHELP')
  2. {
  3. $row['author'] = $GLOBALS['_CFG']['shop_name'];
  4. }
复制代码

在其下边添加
  1. function str_replace_once($needle, $replace, $haystack) {
  2. $pos = strpos($haystack, $needle);
  3. if ($pos === false) {
  4. return $haystack;
  5. }
  6. return substr_replace($haystack, $replace, $pos, strlen($needle));
  7. }

  8. $content = iconv("GB2312","UTF-8",file_get_contents("data/urls.txt"));

  9. $array = explode("\r\n",$content);
  10. foreach ($array AS $value){
  11. $tmp = explode("---",$value);
  12. if ($tmp !== false){
  13. if($tmp[1]){
  14. $str = "<a target='_blank' href='".$tmp[1]."'>".$tmp[0]."</a>";
  15. }
  16. else{
  17. $str = "<a target='_blank' href='search.php?keywords=".rawurlencode($tmp[0])."'>".$tmp[0]."</a>";
  18. }

  19. $str_1 = $tmp[0];
  20. $str_2 = $str;
  21. $tmp1 = explode("<",$row['content']);
  22. foreach ($tmp1 as $key=>$item){
  23. $tmp2 = explode(">",$item);
  24. if (sizeof($tmp2)>1) {
  25. if(substr($tmp2[0],0,1)!="a" && substr($tmp2[0],0,1)!="A"){
  26. if(strpos($tmp2[1],$str_1)!==false){
  27. $tmp2[1] = str_replace_once($str_1,$str_2,$tmp2[1]);
  28. $tmp1[$key] = implode(">",$tmp2);
  29. break;
  30. }
  31. }
  32. }
  33. }
  34. $row['content'] = implode("<",$tmp1);
  35. }
  36. }
复制代码


第三步:在goods.php中找到如下代码
  1. ecs_header("Location: ./\n");
  2. exit;
  3. }
  4. else
  5. {
复制代码

在其下边添加:
  1. function str_replace_once($needle, $replace, $haystack) {
  2. $pos = strpos($haystack, $needle);
  3. if ($pos === false) {
  4. return $haystack;
  5. }
  6. return substr_replace($haystack, $replace, $pos, strlen($needle));
  7. }

  8. $content = iconv("GB2312","UTF-8",file_get_contents("data/urls.txt"));

  9. $array = explode("\r\n",$content);
  10. foreach ($array AS $value){
  11. $tmp = explode("---",$value);
  12. if ($tmp !== false){
  13. if($tmp[1]){
  14. $str = "<a target='_blank' href='".$tmp[1]."'>".$tmp[0]."</a>";
  15. }
  16. else{
  17. $str = "<a target='_blank' href='search.php?keywords=".rawurlencode($tmp[0])."'>".$tmp[0]."</a>";
  18. }

  19. $str_1 = $tmp[0];
  20. $str_2 = $str;
  21. $tmp1 = explode("<",$goods['goods_desc']);
  22. foreach ($tmp1 as $key=>$item){
  23. $tmp2 = explode(">",$item);
  24. if (sizeof($tmp2)>1) {
  25. if(substr($tmp2[0],0,1)!="a" && substr($tmp2[0],0,1)!="A"){
  26. if(strpos($tmp2[1],$str_1)!==false){
  27. $tmp2[1] = str_replace_once($str_1,$str_2,$tmp2[1]);
  28. $tmp1[$key] = implode(">",$tmp2);
  29. break;
  30. }
  31. }
  32. }
  33. }
  34. $goods['goods_desc'] = implode("<",$tmp1);
  35. }
  36. }
复制代码


好了,在文本文件里面添加好关键词,后台清空缓存刷新一下试试吧!!
注:本功能有借荐其它会员的代码,还请见谅!!

回答:
我用了之后,页面不居中显示。靠左对齐了

这代码。好象测试没过。。。呵呵

自动内链不能读取数据库某张表吗



不错 试了 一篇文章出现同一个词只有第一个词有连接?

收藏了呢



这个我亲自试过的,决对没问题的

测试后 可以用 谢谢楼主

我觉的用数据库形式 可以后台管理关键字的 会更好一些,要不每次还得FTP上传TXT

不错,收藏先