2013-04-17 5 views
0

У меня проблема. Мне нужно извлечь содержимое из содержимого atributte:PHP - Извлечение содержимого из atributte

<html> 
<head> 
<meta name="keywords" content="KEYWORDS"> 
<meta name="description" content="THIS TEXT"> 
</head> 

Я использую этот PHP код:

$doc = new DOMDocument(); 
@$doc->loadHTML($html); 
$tags = $doc->getElementsByTagName('meta'); 

foreach ($tags as $tag) { 
     echo $tag->getAttribute('content'); 

     } 

но код найти только первое появление контента atributte, но мне нужно второе содержание Apperance atributte .. ..

+0

Для меня это работает как предусмотрено. – BlitZ

+0

Да, он тоже работает здесь – Fabio

ответ

0

Пожалуйста, попробуйте это

$dom = new DOMDocument(); 
$dom->loadHTML($html); 

$elements = $dom->getElementsByTagName('meta'); 
foreach ($elements as $child) { 
    echo $child->nodeValue; 
} 
+0

Это показывает мне ошибку: Предупреждение: DOMDocument :: loadHTML() [domdocument.loadhtml]: htmlParseStartTag: неуместно тег в Entity, строка: 1. Исходный код не соответствует HTML, это не мой исходный код. –

0

ли SOMET hing вот так:

<?php 
$nodes = $xml->getElementsByTagName ("meta"); 

$nodeListLength = $nodes->length; 
for ($i = 0; $i < $nodeListLength; $i ++) 
{ 
    $node = $nodes->item($i)->getAttribute('content'); 
} 
?> 
+0

Это не работает. Я думаю, что этот код работает только с действительными страницами HTML. –

+0

Я не думаю, что так, anyways refer [this] (http://php.net/manual/en/domdocument.getelementsbytagname.php) – saveATcode

Смежные вопросы