作者yamitsuki (@@)
看板PHP
标题[请益] 用PHP处理网页包含的表格资料
时间Tue Dec 25 19:13:45 2007
今天若我想自动抓取某网页上的一段表格里的各个栏位的资料
先用了 file("网址"); 取得了网页原始码
接着用list跟explode撷取出<table>跟</table>之间的内容
但今天要处理剩下的表格原始码部份时,发现接成一大串的原始码很难切割
就算用<td>、<tr>作为explode区分子也很难处理
(因为还会有描述大小跟颜色的程式码部份)
不像直接复制时,会直接把<td>的栏与栏之间判别为空白,而<tr>判别为换行
还能用空格跟\n分解处理资料
有另外尝试过用strip_tags拆掉html flags,结果是连表格部分也拆掉
变成更复杂的一长串单行资料= =
有没有类似strip_tags的函式能拆掉并取代掉特定html flags(例如td=>\s;tr=>\n)
--
有人跟我说用REGEXP拆表格比较方便
但还是搞不太懂该怎麽用@@
(要不就辨识失败,要不就常常分一分结果抓错目标)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.120.31.157
※ 编辑: yamitsuki 来自: 140.120.31.157 (12/25 19:14)
1F:推 LPH66:其实regexp比较方便 不然你可以参考str_replace 12/25 19:50
2F:→ KC73:如果不是非要用这个的话, 用 js 的 getElementByTagNames 和 12/25 20:28
3F:→ KC73:innerHTML 取得内容, 再丢回给 PHP 处理..可能简单一点。 12/25 20:29
4F:推 suckerlove:用js,dom去爬table的格子...其实就是楼上的说法 12/25 23:35