无法使用simple_html_dom获取具有指定类名的div元素?

时间:2016-08-12 12:55:43

标签: php simple-html-dom

我正在使用simple_html_dom,我遇到的问题是抓取div,其下面指定的类名是code!

<?php
include 'simple_html_dom.php';
$html='
   <div class="user-info ">
    <div class="user-action-time">
        answered <span title="2016-06-27 20:01:45Z" class="relativetime">Jun 27 at 20:01</span>
    </div>
    <div class="user-gravatar32">
        <a href="/users/25355/david-mulder"><div class="gravatar-wrapper-32"><img src="https://www.gravatar.com/avatar/09e3746cf7e47d4b3b15f5d871b91661?s=32&amp;d=identicon&amp;r=PG" alt="" width="32" height="32"></div></a>
    </div>
    <div class="user-details">
        <a href="/users/25355/david-mulder">David Mulder</a>
        <div class="-flair">
           '; 
echo $html->find('div[class=user-details]',0);
    ?>

我在这里做错了我收到错误

中调用字符串上的成员函数find()

谢谢!

2 个答案:

答案 0 :(得分:5)

您正在使用Simple Html Dom来解析html字符串。

不要将html字符串分配给$html变量。 将其分配给其他人,例如$html_string。 然后使用$html = str_get_html($html_string)echo $html->find('div[class=user-details]',0);

答案 1 :(得分:2)

您尝试在字符串变量上调用object方法。它应该有效:

$html = str_get_html('<div class="user-info ">
    <div class="user-action-time">
        answered <span title="2016-06-27 20:01:45Z" class="relativetime">Jun 27 at 20:01</span>
    </div>
    <div class="user-gravatar32">
        <a href="/users/25355/david-mulder"><div class="gravatar-wrapper-32"><img src="https://www.gravatar.com/avatar/09e3746cf7e47d4b3b15f5d871b91661?s=32&amp;d=identicon&amp;r=PG" alt="" width="32" height="32"></div></a>
    </div>
    <div class="user-details">
        <a href="/users/25355/david-mulder">David Mulder</a>
        <div class="-flair">');