Мне нужна помощь с моим кодом, так как у меня возникла проблема с разбором элементов из тегов в html-источнике. Когда я пытаюсь это:
$doc = new DOMDocument();
$doc->preserveWhiteSpace = false;
$doc->loadHTML($html);
$get_time = $doc->getElementById('date-time');
Я получу пустой вывод. Я пытался использовать date
и time
так:
$get_time = $doc->getElementsByTagName('date');
И
$get_time = $doc->getElementsByTagName('time');
Когда я пытаюсь это сделать, ничего не работает, поскольку я получу возвращаемый результат, подобный этому:
DOMNodeList Object ( [length] => 0 )
Вот HTML-код:
["<a style='width: 149px;' data-time='6:00 am' </a><a style='width: 149px;' data-time='6:30 am'
</a><a style='width: 149px; data-time='7:00 am' </a><a style='width: 149px; data-time='7:30 am'
</a><a style='width: 99px; data-time='7:00 am' </a>"]
Вот что я пытаюсь достичь:
6:00 am
6:30 am
7:00 am
7:30 am
8:00 am
Вот полный код:
$url = 'http://example.com/GS?cid=1234'
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_USERAGENT => '',
CURLOPT_TIMEOUT => 30,
CURLOPT_CONNECTTIMEOUT => 30,
CURLOPT_HEADER => false,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_MAXREDIRS => 5,
CURLOPT_URL => $url,
));
$html = curl_exec($curl);
curl_close($curl);
$doc = new DOMDocument();
$doc->preserveWhiteSpace = false;
$doc->loadHTML($html);
$get_time = $doc->getElementsByTagName('date-time');
foreach($get_timeas $time)
{
echo $time;
}
Я действительно не понимаю, почему он не работал, когда я использую функцию getElementsByTagName
, которая должна была работать, но не работала. Можете ли вы показать мне пример того, как я могу проанализировать теги date-time
, используя с domdocument?
EDIT:
Это то, что я получаю, когда использую var_dump
и print_r
:
array(1) { [0]=> string(10830) "
UEFA Europa League Highlights
Hoogtepunten van alle wedstrijden in de UEFA Europa League.7.0
Fox Sports doc
Dejan Curovic - DJ Superstar
Samenvatting
Samenvatting
Fox Sports doc
Alleen onder de Lat
Eredivisie Highlights
Дата и время не отображаются, пока вы не откроете источник HTML.