如何使用DOMDocument获取标记内容?

时间:2011-07-28 13:12:58

标签: php html domdocument

说这是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 个答案:

答案 0 :(得分:7)

像这样:

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

foreach ($fragment->getElementsByTagName("embed") as $element) 
{
    echo $fragment->saveXML($element);
}
?>

答案 1 :(得分:2)

您可以查看此PHP Class

如果我理解你的问题。使用这个类就可以这么简单:

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

EDIT。在phpQuery中也是如此:

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

顺便说一下,你应该看看戈登的this post