html 简单 dom 获取日期时间值

html simple dom get date-time vaule

我正在尝试在此 html 中获取日期时间的时间戳。

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

使用 html 简单 dom 我如何从这个 html 中得到值“1401528672”。是的,value/timestamp 会改变,所以我需要在 html.

中获取 [date-time] 的值

有什么想法吗?

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;

使用普通 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 并且可以访问 span 元素源代码,则可以使用以下解决方案,

如果你给你的 span 元素一些 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

试试下面的代码:

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 De Beau:我使用 simplehtmldom 尝试了上面的代码并且成功了:)