时间:2021-07-01 10:21:17 帮助过:7人阅读
循环table的tr,直接抓取td的值
这个页面本身返回数据的时候就有蓝色在上面吗?若是,则
aaaaaa
aaaaaaaaaaaa xxxx(aaaaaa) aaaaaa xxxx adress aaaaaa adress ![]()
交货计划单 计划到达时间 2013-09-16 PUS编号 770266110 版本00 Customer 客户 *DYNP-770266110-00*
Delivery Information 交货信息 工厂
Plantxxxxxx 取货时间
Pick Up Time2013-09-09 16:30 需要供应商反馈
Need Duns ResponseN 交货日期
Delivery Date2013-09-16 窗口时间
Window Time16:30 卸货口
DockCC-70D 卸货口负责人
Dock Inchargerkkk 卸货口电话
Dock Tel011-1111 卸货口地址
Dock Addressadress 交货地点
Delivery Place计划跟踪员
Follow Upkkkk 计划跟踪员电话/传真
FollowUp Tel/Fax011-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; $i Array( [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:01Receiver Signature
收货人签字 _______________
Date 日期 ______________*** END OF PAGE ***