2015-06-03 2 views
0

Я пытаюсь получить временную метку даты-времени в этом html.html simple dom get date-time vaule

<span class="js-short-timestamp js-relative-timestamp" 
    data-time="1401528672" 
    data-long-form="true"> 
    15h 
    </span> 

Использование HTML простой РОМ как бы мне получить значение "1401528672" из этого HTML. Да значение/timestamp изменится, поэтому мне нужно получить значение [date-time] в html.

Любые идеи?

include('simpleHtmlDom/simple_html_dom.php'); 

$html = file_get_html("https://twitter.com/$user"); 
//not working 
$date = $html->find('span[data-time]->attribute()', 0); 
print_r($date); 
exit; 
+0

ли значение в 'data-time' количество секунд после эпохи? – rsnorman15

ответ

2

Попробуйте следующий код:

include('simpleHtmlDom/simple_html_dom.php'); 

$html = str_get_html('<span class="js-short-timestamp js-relative-timestamp" 
    data-time="1401528672" 
    data-long-form="true"> 
    15h 
    </span>'); 
$data = $html->find('span', 0); 

echo $data->attr['data-time']; 

@Papa Де Бо: Я попытался выше код, используя simplehtmldom и он работал :)

+0

wild, это на самом деле происходит рекурсивным. бесконечный. –

+0

@PapaDeBeau Странно !! Я попробовал это с помощью simplehtmldom версии 1.5 –

+0

в какой-то момент мне нужно это, чтобы получить все html. $ html = file_get_html ("https://twitter.com/$user"); –

1

Решение с помощью простой HTML,

// Create a DOM object from a string 
$html = str_get_html('<span class="js-short-timestamp js-relative-timestamp" 
    data-time="1401528672" 
    data-long-form="true"> 
    15h 
    </span>'); 

//Now get the reference to Span object 
$data = $html->find('span', 0); 

//Now get the attribute value 
echo $data->attr['data-time']; 

Если у вас есть возможность использовать JavaScript и иметь доступ к охватить исходный код элемента, вы можете использовать ниже решения,

Если вы передаете срок элемент some id, скажем span1, чем вы можете использовать метод getAttribute() для получения необходимой информации. см. ниже код

<span class="js-short-timestamp js-relative-timestamp" id='span1' 
    data-time="1401528672" 
    data-long-form="true"> 
    15h 
</span> 

<!-- now retrieve the value of date-time any where else --> 

var element = document.getElementById('span1'); 
var dateTimeVal = element.getAttribute("data-time"); 

Надеется, что он работает ..

See full example here

+0

Это не мой код, я только абстрагирую его. Это на самом деле с twitter.com –

+0

Ну и в таком случае вы можете перебирать через js-short-timestamp или js-relative-timestamp класс, чтобы получить данные? см. эту скрипку http://jsfiddle.net/Ndpfd/ – aProgrammer

+0

@Amit Papa De Beau хочет использовать это с помощью простого html dom не по javascript – Gunaseelan

Смежные вопросы