Hikayeler

Reklam vermek için turkmmo@gmail.com

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

Carissa

Administrator
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye Turkmmo Discord Nitro Booster
Admin
Katılım
2 Mar 2015
Konular
59,185
Mesajlar
88,383
Online süresi
4ay 14g
Reaksiyon Skoru
14,229
Altın Konu
2,398
Başarım Puanı
1,051
TM Yaşı
11 Yıl 1 Ay 21 Gün
MmoLira
694,342
DevLira
234

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. 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
________________________________________
 
Paylaşım için teşekkürler.
 

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

Geri
Üst