我有一个大问题。我想用php解析一个网页。 我不明白为什么它不起作用。我想从该页面获取“tr”标签,然后,我将通过“td”标签解析之前获得的每个文本。问题是我无法解析文本,因此两个标签之间可以有另外两个。
我应该知道有什么诀窍吗?因为我正在尝试超过2天而且我仍然无法得到结果。
这是页面:
http://www.tjareborg.fi/akkilahdot?DepartureIds=-1&CtryId=-1&DestinationAirportIds=-1&ResId=-1&QueryDurID=a&QueryDepDate=10.6.2011&LmsTypeId=2%2c3%2c1&PaxPrice=2167&SortAscending=True&page=0
我想做的就是解析该表,并获取每个单元格的内容。
非常感谢!!!
答案 0 :(得分:2)
尝试:
libxml_use_internal_errors(true);
$url = '%your url%';
$dom = new DOMDocument;
$dom->loadHTML(file_get_contents($url));
libxml_clear_errors();
$xpath = new DOMXPath($dom);
$rows = array();
foreach ($xpath->query('//*[@id="tblLmsList"]//tr') as $tr) {
$cells = array();
foreach ($xpath->query('td', $tr) as $td) {
$cells[] = trim($td->nodeValue);
}
if (sizeof($cells) > 0) {
$rows[] = $cells;
}
}
print_r($rows);
<强>输出强>:
Array
(
[0] => Array
(
[0] => la 11.6.
[1] => Varna
Bulgaria
[2] => Helsinki
[3] => Matkajokeri
[4] => 175,-
[5] =>
[6] => -
[7] =>
[8] => -
[9] =>
)
[1] => Array
(
[0] => la 11.6.
[1] => Varna
Bulgaria
[2] => Helsinki
[3] => Pelkät lennot
[4] => 150,-
[5] =>
[6] => -
[7] =>
[8] => -
[9] =>
)
...
答案 1 :(得分:1)