Как получить содержимое тега с помощью DOMDocument? - PullRequest
1 голос
/ 28 июля 2011

Скажите, что это HTML?

<html>
<body>
<embed scr="...." attr="..."></embed>
</body>
</html>

Я хочу соответствовать целому тегу вставки <embed scr="...." attr="..."></embed>.Как я могу это сделать?

Я получил это далеко

$fragment = new DOMDocument();
$fragment->loadHTML($string);

$xp = new DOMXPath($fragment);
$result = $xp->query("//embed");
print_r($result->item(0));

Ответы [ 2 ]

7 голосов
/ 28 июля 2011

Как это:

<?php
$fragment = new DOMDocument();
$fragment->loadHTML($string);

foreach ($fragment->getElementsByTagName("embed") as $element) 
{
    echo $fragment->saveXML($element);
}
?>
2 голосов
/ 28 июля 2011

Вы можете взглянуть на этот PHP класс .

Если я правильно понял вашу проблему. Делать это с этим классом так же просто, как:

$html = str_get_html($string);
$ret = $html->find('embed');

EDIT. И то же самое в phpQuery :

phpQuery::newDocumentHTML($string);
$ret = pq('embed');

Кстати, вам стоит заглянуть в этот пост Гордона.

...