by A.Gökhan, M.Sc. | Ekim 3 21:49
Bir çoğumuz, kendimize yaptığımız ya da diğer türlü oluşturduğumuz web sayfalarında XML kullanmışızdır. Genelde site içeriklerini, ki bu ya veritabanından gelir ya da manuel olarak girilir, parse ederek belirli bir prensibe göre kullanıcıya sunar ya da saklarız. Ancak tabiki bu tek yol değildir. Bu yazıda, PHP DOM ile parse etme işleminin nasıl yapıldığına değineceğiz.
Bunun için 2 adet dosyaya ihtiyacım var:
1 |
<div id="test">This is my content</div> |
Yukarıda, test.html dosyasının kaynak kodları verilmiştir. Görüldüğü gibi id değeri “test” olan bir ader DIV nesnesi, içeriğinde “This is my content” değerini taşımaktadır. PHP dosyamız, bu içeriği çekecektir. Bunun için,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$content="test.html"; $source=new DOMdocument(); $source->loadHTMLFile($content); $path=new DOMXpath($source); $dom=$path->query("*/div[@id='test']"); if (!$dom==0) { foreach ($dom as $dom) { print "<br>The Type of the element is: ". $dom->nodeName. "<br>"; $getContent = $dom->childNodes; foreach ($getContent as $attr) { print $attr->nodeValue; } } } |
Eğer yukarıda verilen kodu analiz ederseniz, konuyu kolayca anlayacaksınız. id=test olan div elementinin içeriğini çektik ve ekrana print fonksiyonu ile yazdırdık. Konu ile ilgili detaylı bilgiyi, PHP ‘nin resmi kılavuzu[1]ndan inceleyebilirsiniz.
Örneğimizin demosunu incelemek için ise buraya[2] tıklayabilirsiniz.
Not: Bu makale, tarafımdan http://stdioe.blogspot.com/2012/06/getting-contents-of-div-with-phps-dom.html[3] adresinde İngilizce dilinde de yayınlanmıştır.
Source URL: http://www.phpservisi.com/php-dom-ile-bir-div-iceriginin-alinmasi/
Copyright ©2021 Phpservisi.com unless otherwise noted.