【问题标题】:use php to format page into a table使用php将页面格式化为表格
【发布时间】:2013-08-13 10:32:48
【问题描述】:

我正在尝试使用以下代码将页面排序为表格内的格式,我需要能够将 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);
?>

【问题讨论】:

  • 你的问题是?
  • 如何进一步提取它,以便将 h4、span 和非 span 放入表中
  • 编辑您的问题以包含该问题,并添加一个清晰的示例来说明您当前的理解以及您想要的示例。写一个好问题,你会得到一个更好的答案。

标签: php xml domdocument


【解决方案1】:

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

$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>';

【讨论】:

    猜你喜欢
    • 2012-03-17
    • 2015-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多