【问题标题】:PHP parse HTML rows based on class namePHP 根据类名解析 HTML 行
【发布时间】:2011-11-24 21:23:31
【问题描述】:

如何获取具有特定类名的所有行,例如:

<tr class="dailyeventtext" bgcolor="#cfcfcf" valign="top">

然后将该行中的每个单元格放入一个数组中?

我使用 cURL 从客户端的服务器上获取页面。

【问题讨论】:

  • 您能否更好地定义将该行中的每个单元格放入一个数组中? DOM 节点?文字内容?内部 HTML?

标签: php html-table


【解决方案1】:
$matches = array();

$dom = new DOMDocument;

$dom->loadHTML($html);

foreach($dom->getElementsByTagName('tr') as $tr) {
    if ( ! $tr->hasAttribute('class')) {
       continue;
    }

    $class = explode(' ', $tr->getAttribute('class'));

    if (in_array('dailyeventtext', $class)) {
       $matches[] = $tr->getElementsByTagName('td');
    }

}

【讨论】:

  • 谢谢亚历克斯。现在我如何获得每个单元格中的值?谢谢。
  • @Anderson:您的意思是将每个单元格的文本作为单独的数组元素吗?只是array_map() cols,返回textContent 属性。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-23
相关资源
最近更新 更多