2013-06-09 21 views
11

El değmemiş içeriğiyle belirli bir div çıkarmak istediğim bir belgem var. Yapmam:DOMXPath :: query() yönteminden tam HTML nasıl edinilir?

$dom = new DOMDocument(); 
$dom->loadHTML($string);//that's HTML of my document, string 

ve xpath sorgusu: şimdi

$xpath = new DOMXPath($dom); 
$xpath_resultset = $xpath->query("//div[@class='text']"); 
/*I'm after div class="text"*/ 

ben $xpath_resultset

$my_content = $xpath_resultset->item(0); 

ile olsun ne item(0) yöntem ne olsun nesnedir yapmak (dize olmayan) $ my_content hangi dize ekleyebilirim veya string() ile sonuçlanabilir, ama elde ettiğim sonuç tamamen elimine edilmiş işaretleme ile mi?

almak için ne yapmalıyım div class = 'text' here?

+0

'saveXML' /' saveHTML' yöntemlerini denediniz mi? –

+0

Önemli Hata: Tanımsız bir yöntem çağrısı DOMElement :: saveHTML() C: \ wamp \ www \ 3 \ test.php satırında 17. Ben yaptım ... –

+0

Sonra ya PHP yükseltin veya 'saveXML 'kullanın. –

cevap

29

Sadece DOMDocument::saveHTML yönteme düğüm geçmesi:

$htmlString = $dom->saveHTML($xpath_resultset->item(0)); 

Bu, söz konusu DOMNode ve tüm çocukların dize temsilini verecek.

+0

Doğru. Cevabın için teşekkür ederim. –

+6

Bu yöntem PHP 5.3.6 gerektirir, bir alternatif sadece PHP 5 gerektiren DOMDocument :: saveXML kullanmaktır. – Kyle

İlgili konular