首页 >后端开发 >php教程 >网页信息抓取问题(续),麻烦徐版看下

网页信息抓取问题(续),麻烦徐版看下

WBOY
WBOY原创
2016-06-23 14:22:26871浏览

原帖地址:
http://bbs.csdn.net/topics/390595542  4#

如果完整的页面信息是:

Array(     ......    [83] => Part Information             零件清单    [84] => 序号    [85] => 零件号    [86] => 零件说明    [87] => 需求数量    [88] => 承诺数量    [89] => 实收数量    [90] => 包装数    [91] => 料箱数    [92] => 料箱号    [93] => 实发料箱号    [94] => 实发料箱数    [95] => 实收料箱号    [96] => 实收料箱数    [97] => 备注    [98] => 1    [99] => 12606260    [100] => model    [101] => 480    [102] => 480    [103] =>     [104] => 120    [105] => 4    [106] => 0PTYN027    [107] =>     [108] =>     [109] =>     [110] =>     [111] =>     [112] => 2    [113] => 12615516    [114] => 节气门控制器控制模块    [115] => 360    [116] => 360    [117] =>     [118] => 120    [119] => 3    [120] => 0PTYN007    [121] =>     [122] =>     [123] =>     [124] =>     [125] =>     [126] => Supplier             Signature                           Carrier Signature供应商签字             _____________                承运商签字 _____________    [127] => Supplier Confirm             Time    供应商确认时间 13-09-10 09:01    [128] => Receiver Signature             收货人签字 _______________    [129] => Date             日期 ______________    [130] => *** END OF PAGE ***)


多了从126的单元至130的单元。这样的话array_combine会报warning错误,Both parameters should have an equal number of elements。

如果要完全匹配,如何过滤126-130 单元的内容信息?


回复讨论(解决方案)

array_combine 函数需要参与运算的两个数组的长度一致,如果你不能保证这一点,就不要使用
你的 126-130 单元的内容并不在二维表中,当然需要单独处理

你或许可以
[83] => Part Information
作为二维表的开始
[126] => Supplier
作为二维表的结束

你或许可以
[83] => Part Information
作为二维表的开始
[126] => Supplier
作为二维表的结束

能不能写下范例?键值是不是一定要指定?还是只要值的结果就可以?

如何做,得由你决定
我举例中用 array_combine 只不过告诉你还可以这么做

如何做,得由你决定
我举例中用 array_combine 只不过告诉你还可以这么做
我的意思是指定起始位置和终止位置这个如何做到?是依靠数组的值还是同样需要键值?

如何做,得由你决定
我举例中用 array_combine 只不过告诉你还可以这么做

搞定了。由于最后五行是固定的,用了array_slice函数,再用了个array_diff函数就把后面的5行数据去掉了。非常感谢!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn