|
本帖最后由 6683637 于 2012-4-26 09:27 编辑
- <?php
- /*
- 来两句话,本人快揭不开锅了。有需要哪哈 哪哈 哪哈的朋友记得加我QQ 17547523 只要能赚钱 干啥都行。
- 论坛ID lypying
- 不付费没有技术支持 自己研究或看教程
- http://bbs.locoy.com/spider-58713-1-1.html
- */
- function str_replace_once($needle, $replace, $haystack)//needle原来要替换的字符,replace为替换后的字符,haystack为原来的内容
- {
- global $gbi;
- $pos = strpos($haystack, $needle); // 得到要替换字符的位置 needle为要替换字符,$haystack是文章
- if ($pos === false) { //没有在文章里面找到关键字
- return $haystack; //返回文章,等于跳出这个函数
- } //如果没有就返回$haystack
- else{
- if($gbi>=2){
- return $haystack;
- }
- else{
- $gbi++; //如果关键字小于2个则网上递增中间量
- return substr_replace($haystack, $replace, $pos, strlen($needle)); //haystack为原来的内容,replace替换的内容\既然SEO过的内容,pos从哪里开始替换,strlen($needle)替换长度
- //该程序只做一次替换。
- }
-
-
- }
- }
- if($LabelArray['内容'])
- {
- $gbi=0;
- $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>");
- foreach ($array as $v) {
- //echo $v."<br>";
- $arrstr= split ('[|]',$v); //返回$arrstr[0]:原来的内容 $arrstr[1]:替换的内容
- $LabelArray['内容']=str_replace_once($arrstr[0], $arrstr[1], $LabelArray['内容']); //执行替换一次的函数
- }
- }
- //#############以上为用户操作区域#############################################################################################################################
- //#############以下语句必须保留,建议不更改###################################################################################################################
- //ob_clean();
- echo serialize($LabelArray); //将内容数组序列化,不过这一句是否必要还不清楚,第一次接触火车头的PHP接口
- ?>
复制代码 在该文章学会了以下函数。
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,不知道上面的注释对不对,如果有错误,还希望有懂得的朋友纠正。不尽感激。 |
|