使用DOMDocument元素中的strtotime转换日期

时间:2010-01-15 09:59:06

标签: php domdocument strtotime

我在使用curl获取HTML文件后使用DOMDocument解析一些数据。代码看起来像这样


$dom = new DOMDocument();
@$dom->loadHTML($content);
$tables = $dom->getElementsByTagName('table');
$rows = $tables->item($tblNum)->getElementsByTagName('tr');

foreach ($rows as $row) {
    $cols = $row->getElementsByTagName('td');
    $var = $cols->item(1)->nodeValue; // The problem is here
}

我无法使用strtotime将$var转换为时间戳。我不知道为什么,我知道$cols->item(1)->nodeValue返回了我想要的值,我甚至尝试过将其打入另一个变量,但我仍然无法使用strtotime将其转换为时间戳。我也直接测试了这个值

strtotime('11 Jan 2010');

它确实返回了一个时间戳,所以,我该怎么办?

1 个答案:

答案 0 :(得分:0)

我无法使用php 5.3.1 / winxp重现问题

$content = '<html><head><title>...</title></head><body>
  <table>
    <tr><td>X</td><td>12 Jan 2010</td></tr>
  </table>
</body></html>';
$tblNum = 0;

$dom = new DOMDocument();
@$dom->loadHTML($content);
$tables = $dom->getElementsByTagName('table');
$rows = $tables->item($tblNum)->getElementsByTagName('tr');

foreach ($rows as $row) {
  $cols = $row->getElementsByTagName('td');
  $var = $cols->item(1)->nodeValue;
  echo date('Y-m-d H:i:s', strtotime($var)), "\n";
}

打印2010-01-12 00:00:00