php抓取网页表格数据,网页表格信息抓取

aaaaaa

aaaaaa

aaaaaa xxxx(aaaaaa)

aaaaaa xxxx

adress aaaaaa adress DYNP_new.jpg 交货计划单

计划到达时间 2013-09-16

PUS编号 770266110 版本00

Customer 客户

*DYNP-770266110-00*

Delivery Information 交货信息

工厂

Plant xxxxxx

取货时间

Pick Up Time 2013-09-09 16:30 需要供应商反馈

Need Duns Response N

交货日期

Delivery Date 2013-09-16 窗口时间

Window Time 16:30

卸货口

Dock CC-70D 卸货口负责人

Dock Incharger kkk

卸货口电话

Dock Tel 011-1111 卸货口地址

Dock Address adress

交货地点

Delivery Place

计划跟踪员

Follow Up kkkk 计划跟踪员电话/传真

FollowUp Tel/Fax 011-1111

交货说明

Delivery Note

Part Information 零件清单

序号 零件号 零件说明 需求数量 承诺数量 实收数量 包装数 料箱数 料箱号 实发料箱号 实发料箱数 实收料箱号 实收料箱数 备注

1 12647212 60 60 15 4 P000000D

2 12654172 615 615 15 41 P000000D

';$result = array();preg_match_all('#(.*)#iUus',$string,$result);print_r($result[1]);

本身要是没蓝色的(id,class之类的也没有的)话那就只能全部单元格正则匹配出来按页面结构需要来取了

本身要是没蓝色的(id,class之类的也没有的)话那就只能全部单元格正则匹配出来按页面结构需要来取了

本身无颜色区分,只是我标识出来的罢了。

$s 为你提供的页面内容preg_match_all('##isU', $s, $r);$r = array_map('trim', array_map('strip_tags', $r[0]));print_r($r); Array( [0] => [1] => aaaaaa aaaaaa [2] => aaaaaa xxxx(aaaaaa) [3] => aaaaaa xxxx [4] => adress aaaaaa adress [5] => [6] => 交货计划单 [7] => 计划到达时间 2013-09-16 [8] => PUS编号 770266110 版本00 [9] => Customer 客户 [10] => *DYNP-770266110-00* [11] => [12] => Delivery Information 交货信息 [13] => 工厂Plant [14] => xxxxxx [15] => 取货时间Pick Up Time [16] => 2013-09-09 16:30 [17] => 需要供应商反馈Need Duns Response [18] => N [19] => 交货日期Delivery Date [20] => 2013-09-16 [21] => 窗口时间Window Time [22] => 16:30 [23] => 卸货口Dock [24] => CC-70D [25] => 卸货口负责人Dock Incharger [26] => kkk [27] => 卸货口电话Dock Tel [28] => 011-1111 [29] => 卸货口地址Dock Address [30] => adress [31] => 交货地点Delivery Place [32] => [33] => 计划跟踪员Follow Up [34] => kkkk [35] => 计划跟踪员电话/传真FollowUp Tel/Fax [36] => 011-1111 [37] => 交货说明Delivery Note [38] => [39] => Part Information 零件清单 [40] => 序号 [41] => 零件号 [42] => 零件说明 [43] => 需求数量 [44] => 承诺数量 [45] => 实收数量 [46] => 包装数 [47] => 料箱数 [48] => 料箱号 [49] => 实发料箱号 [50] => 实发料箱数 [51] => 实收料箱号 [52] => 实收料箱数 [53] => 备注 [54] => 1 [55] => 12647212 [56] => [57] => 60 [58] => 60 [59] => [60] => 15 [61] => 4 [62] => P000000D [63] => [64] => [65] => [66] => [67] => [68] => 2 [69] => 12654172 [70] => [71] => 615 [72] => 615 [73] => [74] => 15 [75] => 41 [76] => P000000D [77] => [78] => [79] => [80] => [81] => )读取某项内容不是什么难事吧? //第二个表从下标 40 开始,14 列$t = array_chunk(array_slice($r, 40), 14);for($i=1; $iArray( [0] => Array ( [序号] => 1 [零件号] => 12647212 [零件说明] => [需求数量] => 60 [承诺数量] => 60 [实收数量] => [包装数] => 15 [料箱数] => 4 [料箱号] => P000000D [实发料箱号] => [实发料箱数] => [实收料箱号] => [实收料箱数] => [备注] => ) [1] => Array ( [序号] => 2 [零件号] => 12654172 [零件说明] => [需求数量] => 615 [承诺数量] => 615 [实收数量] => [包装数] => 15 [料箱数] => 41 [料箱号] => P000000D [实发料箱号] => [实发料箱数] => [实收料箱号] => [实收料箱数] => [备注] => ))

preg_match_all('##isU', $s, $r);

这个正则这么用啊?感谢!

preg_match_all('##isU', $s, $r);

如果有的页面取的值的项不同,怎么求那些项?

例如:[10] => *DYNP-770266110-00* ,有时候是[12] => *DYNP-770266110-00*。

但是前一项的值都是一样的,只是键值不同。例:[9] => Customer 客户这项。

那就是你的问题了

一般说明文字与数据总是配对的,并且说明文字在前,数据在后

那就是你的问题了

一般说明文字与数据总是配对的,并且说明文字在前,数据在后

如果在1楼之前还有一个table,那么array_combine会有一个warning提示。Supplier Signature Carrier Signature

供应商签字_____________ 承运商签字_____________ Supplier Confirm Time

供应商确认时间 13-09-10 09:01

Receiver Signature

收货人签字_______________ Date 日期______________

*** END OF PAGE ***

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值