PHP简单HTML Dom连字符属性" find"

时间:2014-10-27 21:17:58

标签: php simple-html-dom

我无法使用PHP Simple HTML Dom从自定义数据属性中获取数据。

代码更改我只返回了各种元素和数据,而不仅仅是代码中的自定义数据属性 - 例如data-XYZ

我已经阅读过建议使用{}的其他问题/答案,但无论我如何围绕引号,撇号,方括号等构造花括号,我都无法使其工作。

HTML示例我尝试从以下位置提取数据:

    <!-- Data I want to extract -->

    <li class="main-li" 
       data-name="Eric"
       data-info="loves bananas"
       data-address="29 Acacia Road"
    >

<!-- Data I'm actually getting -->
    <div class="float-main">
       <p class="telephone">DATA A</p>
    </div>

    <h3 class="name">
        <a href="some_link" title="some title">DATA B</a>
    </h3>
    <p class="more-data">DATA C</p>
    <p class="address">DATA D</p>

    </li>

简单HTML Dom的当前用法:

    foreach( $html->find('[data-name]') as $data ) 
      {
        echo $data->plaintext;
        echo "<br>";
      }

我想要li中的自定义属性数据:
数据名称
数据信息
数据地址

我目前得到的是来自h3链接和<p>区域的数据A,B,C,D。

如果我只需要使用{}。如何将这些应用于$html->find('[data-name]')

2 个答案:

答案 0 :(得分:2)

它需要看起来像这样:

$html->find('[data-name]', 0)->{'data-name'}

答案 1 :(得分:0)

这样的事情怎么样?

foreach( $html->find('.main-li') as $data ) {
    echo $data['data-name'];
    echo "<br>";
}