火车采集器软件交流官方论坛

 找回密码
 加入会员
搜索
火车采集器V9版免费下载火车浏览器 - 可视采集,万能群发,全自动脚本工具
查看: 2383|回复: 0

为指定关键字加链接锚文本:加了注释+有点不解

[复制链接]
发表于 2012-4-26 09:20:09 | 显示全部楼层 |阅读模式
本帖最后由 6683637 于 2012-4-26 09:27 编辑
  1. <?php
  2. /*
  3. 来两句话,本人快揭不开锅了。有需要哪哈 哪哈 哪哈的朋友记得加我QQ 17547523 只要能赚钱 干啥都行。
  4. 论坛ID lypying
  5. 不付费没有技术支持 自己研究或看教程
  6. http://bbs.locoy.com/spider-58713-1-1.html
  7. */
  8. function str_replace_once($needle, $replace, $haystack)//needle原来要替换的字符,replace为替换后的字符,haystack为原来的内容
  9. {
  10. global $gbi;
  11. $pos = strpos($haystack, $needle); // 得到要替换字符的位置 needle为要替换字符,$haystack是文章

  12. if ($pos === false) {  //没有在文章里面找到关键字

  13. return $haystack;        //返回文章,等于跳出这个函数

  14. } //如果没有就返回$haystack
  15. else{
  16.         if($gbi>=2){
  17.                 return $haystack;
  18.             }
  19.                 else{
  20. $gbi++;        //如果关键字小于2个则网上递增中间量
  21. return substr_replace($haystack, $replace, $pos, strlen($needle));  //haystack为原来的内容,replace替换的内容\既然SEO过的内容,pos从哪里开始替换,strlen($needle)替换长度
  22.                                                                     //该程序只做一次替换。
  23.                 }
  24.                         
  25.         
  26.     }
  27. }

  28. if($LabelArray['内容'])
  29. {
  30. $gbi=0;
  31. $array=array("北京|<a href=www.163.com>北京</a>","天津|<a href=www.163.com>天津</a>","上海|<a href=www.163.com>上海</a>","重庆|<a href=www.163.com>重庆</a>");
  32. foreach ($array as $v) {
  33.         //echo $v."<br>";
  34.         $arrstr= split ('[|]',$v);  //返回$arrstr[0]:原来的内容   $arrstr[1]:替换的内容
  35.         $LabelArray['内容']=str_replace_once($arrstr[0], $arrstr[1], $LabelArray['内容']);   //执行替换一次的函数
  36. }

  37. }
  38. //#############以上为用户操作区域#############################################################################################################################
  39. //#############以下语句必须保留,建议不更改###################################################################################################################
  40. //ob_clean();
  41. echo serialize($LabelArray);    //将内容数组序列化,不过这一句是否必要还不清楚,第一次接触火车头的PHP接口
  42. ?>
复制代码
在该文章学会了以下函数。
 strpos() 函数返回字符串在另一个字符串中第一次出现的位置。
   substr_replace() 函数把字符串的一部分替换为另一个字符串。
   foreach ($array as $v):对$v在这里的作用不是很明白
   split ('[|]',$v):将$v字符串里面的内容以|为界限分劈,返回数组
   serialize:对数组进行序列化,不知道作用是什么

规则教程第七之插件教程之为指定关键字加链接锚文本
http://bbs.locoy.com/forum.php?m ... hlight=%B2%E5%BC%FE


    非常感谢lypying 兄提供这个代码,我是第一次接触火车头的PHP代码编写,以前也没怎么学过PHP,不知道上面的注释对不对,如果有错误,还希望有懂得的朋友纠正。不尽感激。
您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

QQ|手机版|Archiver|火车采集器官方站 ( 皖ICP备06000549 )

GMT+8, 2025-5-16 14:25

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表