Преобразование даты с использованием strtotime из элемента DOMDocument - PullRequest
1 голос
/ 15 января 2010

Я анализирую некоторые данные с помощью DOMDocument после извлечения HTML-файла с помощью curl.Коды выглядят так:


$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
}

Я не могу преобразовать $var в метку времени, используя strtotime.Я не знаю почему, я знаю, $cols->item(1)->nodeValue вернул желаемое значение, я даже пытался исследовать его и внедрить в другую переменную, но я все еще не могу преобразовать его в метку времени, используя strtotimeЯ также непосредственно проверил значение

strtotime('11 Jan 2010');

, и оно вернуло отметку времени, так что мне делать?

1 Ответ

0 голосов
/ 15 января 2010

Я не могу воспроизвести проблему, используя 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

...