Wizard' 1
Wizard'
shrpnl 1
shrpnl
Queinn 1
Queinn
NovaLst 1
NovaLst
InfernoShade 1
InfernoShade
MysticBlade 1
MysticBlade
SolarPhantom 1
SolarPhantom
Riftas 1
Riftas
LunarWraith 1
LunarWraith
DarkHorizon 1
DarkHorizon
SLyFeLLowTR 1
SLyFeLLowTR
Scarlet 1
Scarlet
Hikaye Ekle

PHP - DOM Ayrıştırıcı Örneği

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

PHP-DOM-Parser.png


PHP'deki DOM uzantısı, XML ve HTML belgelerinde çeşitli işlemler gerçekleştirebileceğimiz kapsamlı işlevsellikle birlikte gelir. Dinamik olarak bir DOM nesnesi oluşturabilir, bir HTML dosyasından veya HTML etiket ağacına sahip bir dizeden bir DOM belgesi yükleyebiliriz. Ayrıca DOM belgesini bir XML dosyasına kaydedebilir veya DOM ağacını bir XML belgesinden çıkarabiliriz.

DOMDocument sınıfı, DOM uzantısında tanımlanan en önemli sınıflardan biridir.

$obj = new DOMDocument($version = "1.0", $encoding = "")

Tüm bir HTML veya XML belgesini temsil eder; belge ağacının kökü olarak hizmet eder. DOMDocument sınıfı, bazıları burada tanıtılan bir dizi statik yöntemin tanımlarını içerir.

Sr.NoYöntemler ve Açıklama
1createElement
Yeni eleman düğümü oluştur
2createAttribute
Yeni öznitelik oluştur
3createTextNode
Yeni metin düğümü oluştur
4getElementById
Belirli bir kimliğe sahip bir öğeyi arar
5getElementsByTagName
Belirtilen yerel etiket adına sahip tüm öğeleri arar
6load
Bir dosyadan XML yükle
7loadHTML
Bir dizeden HTML yükle
8loadHTMLFile
Bir dosyadan HTML yükle
9loadXML
Bir dizeden XML yükleyin
10save
Dahili XML ağacını bir dosyaya geri döker
11saveHTML
Dahili belgeyi HTML biçimlendirmesini kullanarak bir dizeye döker
12saveHTMLFile
Dahili belgeyi HTML biçimlendirmesini kullanarak bir dosyaya döker
13saveXML
Dahili XML ağacını bir dizeye geri döker

Örnek

Bu örnek için aşağıdaki HTML dosyasını kullanalım.

HTML:
<html>
<head>
   <title>Tutorialspoint</title>
</head>
<body>
   <h2>Course details</h2>
   <table border = "0">
      <tbody>
         <tr>
            <td>Android</td>
            <td>Gopal</td>
            <td>Sairam</td>
         </tr>
         <tr>
            <td>Hadoop</td>
            <td>Gopal</td>
            <td>Satish</td>
         </tr>
         <tr>
            <td>HTML</td>
            <td>Gopal</td>
            <td>Raju</td>
         </tr>
         <tr>
            <td>Web technologies</td>
            <td>Gopal</td>
            <td>Javed</td>
         </tr>
         <tr>
            <td>Graphic</td>
            <td>Gopal</td>
            <td>Satish</td>
         </tr>
         <tr>
            <td>Writer</td>
            <td>Kiran</td>
            <td>Amith</td>
         </tr>
         <tr>
            <td>Writer</td>
            <td>Kiran</td>
            <td>Vineeth</td>
         </tr>
      </tbody>
   </table>
</body>
</html>

Şimdi, aşağıdaki PHP kodunda loadHTMLFile() metodunu çağırarak yukarıdaki HTML dosyasından Belge Nesne Modelini çıkaracağız:

PHP:
<?php

   /*** a new dom object ***/
   $dom = new domDocument;

   /*** load the html into the object ***/
   $dom->loadHTMLFile("hello.html");

   /*** discard white space ***/
   $dom->preserveWhiteSpace = false;

   /*** the table by its tag name ***/
   $tables = $dom->getElementsByTagName('table');

   /*** get all rows from the table ***/
   $rows = $tables[0]->getElementsByTagName('tr');

   /*** loop over the table rows ***/
   foreach ($rows as $row) {
  
      /*** get each column by tag name ***/
      $cols = $row->getElementsByTagName('td');

      /*** echo the values ***/
      echo 'Designation: '.$cols->item(0)->nodeValue.'<br />';
      echo 'Manager: '.$cols->item(1)->nodeValue.'<br />';
      echo 'Team: '.$cols->item(2)->nodeValue;
      echo '<hr />';
   }
  
?>

Aşağıdaki çıktıyı üretecektir:

Designation: Android
Manager: Gopal
Team: Sairam
________________________________________
Designation: Hadoop
Manager: Gopal
Team: Satish
________________________________________
Designation: HTML
Manager: Gopal
Team: Raju
________________________________________
Designation: Web technologies
Manager: Gopal
Team: Javed
________________________________________
Designation: Graphic
Manager: Gopal
Team: Satish
________________________________________
Designation: Writer
Manager: Kiran
Team: Amith
________________________________________
Designation: Writer
Manager: Kiran
Team: Vineeth
________________________________________
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst