火车头PHP插件开发

作者:stoat 发布时间:2014-10-28 分类:技术

火车头旗舰版支持自定义插件,太强悍了!

采集到的一个字符串,需要做去重处理,发现简单的正则火车头无法实现,必须使用二次处理数据,但这样就违背做初衷了 - 给我一串网址,我给你一个网站

写个记录哈。

php处理字符串去重


1,字符串“199.00|299.00|399.00|199.00|299.00|199.00|399.00|199.00|199.00|199.00”,去除重复;
2,php递归算法
function ex_plode($str){
	$arr = explode( '|', $str);
	$arr = array_unique($arr);
	$str = implode( '|', $arr);	
	echo $str;
}

火车头PHP插件开发教程


1,插件管理文件保存及高级设置 - 插件管理器界面,新建php插件。
火车头PHP插件开发1.jpg
2,新增代码为
<?php error_reporting(E_ERROR | E_WARNING | E_PARSE); /* *外部编程接口处理标签内容示范文件 *该文件内自动系统的三个参数$LabelArray $LabelCookie,$LabelUrl *对任意采集的标签都适用请对标签内容处理后直接将该数组serialize($LabelArray)输出, *采集器内部即可接收到该标签的内容,对比以前的接口规则,新规则可以实现标签之间的数据调用和处理 *参数说明: *$LabelArray - 标签名及标签内容集合 结构如:Array('栏目id' => 2,'出处'=> '新浪微博','内容'=>'<center><b>暴笑短信') ## *$LabelCookie - 对应采集中用到的Cookie值 *$LabelUrl - 当前采集的页面的Url地址 * 特别注意:如果是处理列表页,默认页,多页时会有以下两个标签 $LabelArray['Html'] 网页的源代码,没有经过采集器处理的,直接下载后的数据.修改这里的数据,请将新值赋予$LabelArray['Html'] $LabelArray['PageType'] 值可能为 List, Pages, Content 分别代表处理列表页,多页,默认页 *以上语句建议不更改,以下为用户操作区域 该区域只限对数组值进行操作,不得有打印输出产生,不得直接增加或删除相应标签名 */ if($LabelArray['Html']) { $LabelArray['Html']='当前页面的网址为:'.$LabelUrl."\r\n页面类型为:".$LabelArray['PageType']."\r\nCookies数据为:$LabelCookie\r\n接收到的数据是:".$LabelArray['Html']; } else { $str = $LabelArray['促销价']; $b = explode("|",$str); $tmp = array(); for($i = 0; $i < count($b);$i++){ $len = count($tmp); $j = 0; for(; $j < $len; $j++){ if($b[$i] === $tmp[$j]){ break; } } if($j == $len){ //如果最后的$j和$len相等的话,则表示$tmp临时数组中不存在$b[$i] $tmp[] = $b[$i]; } } $result = implode("|",$tmp); $LabelArray['促销价'] = $result; } //#############以上为用户操作区域############################################################################################################################# //#############以下语句必须保留,建议不更改################################################################################################################### //ob_clean(); echo serialize($LabelArray); ?>
3,保存文件,输入待测试数据,测试插件是否运行正常。
火车头PHP插件开发3.jpg
4,切换PHP插件为stoat.php即可。
火车头PHP插件开发4.jpg

注意事项


PHP插件执行错误,返回代码:
199.00|299.00|399.00a:4:{s:8:"PageType";s:4:"Save";s:6:"Cookie";s:36:"这里测试是没有传入cookie的";s:9:"促销价";s:20:"199.00|299.00|399.00";s:7:"PageUrl";s:0:"";}

可能会在测试标签集合的时候提示“PHP插件执行错误,返回代码:”,检查下是否有echo数据,有echo就关闭掉。

原文地址:火车头PHP插件开发 by 雪鼬博客

标签:php 火车头

评论已关闭