【发布时间】:2013-06-25 02:14:56
【问题描述】:
在准备执行以下操作时,我发现了很多不清楚的信息,所以我想我问一下,看看是否有人可以为我解决问题。
@符号对后面的作用究竟是什么
$domOb = new DOMDocument();
$html = @$domOb->loadHTMLFile('http:...');
这确实消除了一个错误并实际解析了数据,但这是一个很好的实践解决方案。我在没有@符号的情况下使用了它并得到了预期的结果。
鉴于我有几个表,从假设表 3 中获取所有 <td> 的最佳/最简单方法是什么。我打算列出所有 <td>,然后简单地以相关的值开始和结束需要的数据
如果希望通过 PHP 解析 HTML,我喜欢使用 DOM 的想法,所以在获取文件时应该使用什么。 loadHTMLFile() loadHTML()...我还能使用 Xpath 吗?...如果它的 HTML 非常繁忙/标记错误,这有关系吗?
查看数据有什么好的做法
$items = $domOb->getElementsByTagName('td');
$k = 0;
$num = $items->length;
while ($k < $num)
{
echo $item_web = $items->item($k)->, '<br>';
$k++;
}
我发现这很好 How do you parse and process HTML/XML in PHP? 但它已有 2 年历史了,所以我想提出一些问题。
只是第 3 个表格的一个小片段...乍一看,我注意到第 3 个标记处有一个空格,这会影响结果吗?
<td>Parcel ID: <a href=... style=text-decoration:underline;><b>666666</b></a></td>
<td>Name: Mr. help</td></tr><tr>
<td >Parcel Address: 666 help RD </td>
<td>Name2: Ms. help F</td></tr><tr><td>City: Helpover 66666</td>
<td>Address: 6666 6TH AVE NE UNIT 333</td>
【问题讨论】:
-
如果您熟悉 jQuery,您可能会喜欢 phpQuery。我知道当我必须选择深度嵌套的节点并想要开发子/父/兄弟关系时,我不想为它创建一个框架。
-
Stackoverflow 通过一次问一个问题来工作(最好)。因此,我只回答了关于错误抑制运算符的问题。关于 HTML 表解析,我们已经有一些与 DOM 相关的资源,但我认为到目前为止我们还没有提供基于 DOM 的表模型的答案。但是,我想说这需要一个孤立的问题。其余的:解释了 Xpath,只有 2 岁的问题没有理由再问一次。只是说。
标签: php html parsing xml-parsing html-parsing