-1

我正在尝试使用以下代码将页面排序为表格内的格式,我需要能够将 h4、跨度和非跨度提取到表格的名称、价格、项目中

<?php
$c = file_get_contents('http://www.bunnings.com.au/products_category_plumbing-supplies_1637.aspx'); 
$dom = new DOMDocument();
$dom->loadHTML($c);
$xpath = new DOMXPath($dom);
$div = $xpath->query('//div[@class="details"]');
$div = $div->item(0);
echo $dom->saveXML($div);
?>
4

1 回答 1

2

这个简单的例子会将名称、价格和商品编号放入一个表中:

$xpath = new DOMXPath($dom);
$div = $xpath->query('//div[@class="details"]');

echo '<table>';

foreach($div as $details)
{
    $name = $details->getElementsByTagName('h4')->item(0)->getElementsByTagName('a')->item(0)->nodeValue;
    $price = $details->getElementsByTagName('p')->item(0)->getElementsByTagName('span')->item(0)->nodeValue;
    $itemNumber = $details->getElementsByTagName('p')->item(0)->childNodes->item(2)->nodeValue;

    $html = '<tr>';
    $html .= '<td>' . htmlspecialchars($name) . '</td>';
    $html .= '<td>' . htmlspecialchars($price) . '</td>';
    $html .= '<td>' . htmlspecialchars($itemNumber) . '</td>';
    $html .= '</tr>';

    echo $html;
}

echo '</table>';
于 2013-08-13T11:17:41.010 回答