2011-07-28 7 views
1

これはHTMLだとしますか?DOMDocumentを使用してタグコンテンツを取得するには?

全体埋め込みタグ<embed scr="...." attr="..."></embed>と一致させたいと思います。どうすればいいですか?

私はこのようなここまで

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

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

DOMElementまたは他のDOMオブジェクトをダンプすることはできません。ノードをsaveXMLに渡すかsaveHTMLを渡してouterHTMLを取得します。 – Gordon

+0

要素の[PHP + DOMDocument:outerHTMLの可能な複製?](http://stackoverflow.com/questions/5404941/php-domdocument-outerhtml-for-element) – Gordon

答えて

7

を得た:

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

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

あなたはこのPHP Classを見てみることができます。

私はあなたの問題を正しく理解していました。このクラスでそれを行うのは、次のように簡単です:

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

EDITそしてphpQueryで同じこと:

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

あなたが道でゴードンのthis postになっているはずです。

+0

それらを知らなかった。ニース! –

+1

それを読んで、将来の参考のために私の答えを更新していただけです。私にそれを打つ;-) –

関連する問題