使用简单的HTML DOM获取属性名称?

时间:2014-04-24 00:57:24

标签: php simple-html-dom

我试图在data-date标记内的<ul>中获取属性值

示例代码:

<ul class="media-list">
    <li class="media-item" data-date="2014-04-24 07:30:29">Tes</li>
    <li class="media-item" data-date="2014-04-25 08:30:29">Tes</li>
    <li class="media-item" data-date="2014-04-26 09:30:29">Tes</li>
</ul>

我想在列表中获取这些值,下面是所需的输出:

(2014-04-24 07:30:29, 2014-04-25 08:30:29, 2014-04-26 09:30:29)

3 个答案:

答案 0 :(得分:1)

您将需要使用这种笨拙的语法:

$li->{'data-date'};

答案 1 :(得分:1)

以下代码可以完美地获取每个li的数据日期值。

<?php

include('inc/simple_html_dom.php');

$html = str_get_html('<ul class="media-list">
                      <li class="media-item" data-date="2014-04-24 07:30:29">Tes</li>
                      <li class="media-item" data-date="2014-04-25 08:30:29">Tes</li>
                      <li class="media-item" data-date="2014-04-26 09:30:29">Tes</li>
                      </ul>');
foreach($html->find('ul.media-list li.media-item') as $li) 
{
    echo $li->{'data-date'}."<br>";
}
?>

答案 2 :(得分:-1)

你可以尝试一下:

include "simple_html_dom.php";
$html = str_get_html('<ul class="media-list">
    <li class="media-item" data-date="2014-04-24 07:30:29">Tes</li>
    <li class="media-item" data-date="2014-04-25 08:30:29">Tes</li>
    <li class="media-item" data-date="2014-04-26 09:30:29">Tes</li>
</ul>');

$tag = "data-date";
$html_lis = $html->find('li');

foreach($html_lis as $row_li) {

    echo $row_li->$tag;
    // Or echo $row_li->{'data-date'}
}
相关问题