Ошибка результатов документа Php Dom

Я хотел бы очистить некоторые элементы от html, но я не могу очистить данные, как мне нужно.

HTML

<div class="opinions">
<ul>
<li>
<div class="imgcontainers">
<a href="domainname.com" title="title">                                                 `<img width="160" src="image.jpg" />`
</a>
</div>
<p class="caption">
<a href="domainname.com" class="head">asdfad</a>
<span>November 03, 2015 09:29 This is article title</span>
</p>
</li>
</ul>
</div>
$dom = new DOMDocument();
$classname = 'opinions';
$html = get_page($url);
@$dom->loadHTML($html);
$dom->preserveWhiteSpace = false;
$xpath = new DOMXPath($dom);
$articles = $xpath->query("//*[@class='" . $classname . "']");

$p = $articles->getElementsByTagName('a');
$div = $articles->getElementsByTagName('div');
foreach($p as $value){
    $title = $value->getAttribute("href");
    echo $title;
}

когда я запускаю этот скрипт, я получаю эту ошибку "Вызов неопределенного метода DOMNodeList::getElementsByTagName()"

Что мне точно нужно, так это каждая ссылка href и путь img src (если есть) и текстовое значение span этого файла . Пожалуйста, предложите свой совет, как этого добиться.


person Php Gemini    schedule 03.11.2015    source источник


Ответы (1)


Возможно, вы узнаете что-то новое из моего кода.

Или, если вы решите включить мою функцию, вот как я это делаю:

    $html = ""; //your html
    $props = array(
    array("tagname"=>"div", "props"=>array("class"=>"opinions")),
    //the '/' before 'a' is for all descendant <a> of <div>
    array("tagname"=>"/a"),
    );
    $options = array("property"=>"href");
    require_once 'getNodeValue.php';
    $hrefs = getNodeValue($html, $props, $options);
    print_r($hrefs);
person Jeffrey    schedule 03.11.2015