Mở rộng DOM trong PHP đi kèm với chức năng phong phú mà chúng ta có thể thực hiện các thao tác khác nhau trên tài liệu XML và HTML. Chúng ta có thể xây dựng động một đối tượng DOM, tải một tài liệu DOM từ một tệp HTML hoặc một chuỗi với cây thẻ HTML. Chúng ta cũng có thể lưu tài liệu DOM vào một tệp XML, hoặc trích xuất cây DOM từ một tài liệu XML.
Lớp DOMDocument là một trong những lớp quan trọng nhất được định nghĩa trong phần mở rộng DOM.
$obj = new DOMDocument($version = "1.0", $encoding = "")
Nó đại diện cho một tài liệu HTML hoặc XML hoàn chỉnh; phục vụ như là gốc của cây tài liệu. Lớp DOMDocument bao gồm định nghĩa của một số phương thức tĩnh, một số phương thức trong số đó được giới thiệu ở đây −
Sr.No | Methods & Description |
---|---|
1 | createElement Create new element node |
2 | createAttribute Create new attribute |
3 | createTextNode Create new text node |
4 | getElementById Searches for an element with a certain id |
5 | getElementsByTagName Searches for all elements with given local tag name |
6 | load Load XML from a file |
7 | loadHTML Load HTML from a string |
8 | loadHTMLFile Load HTML from a file |
9 | loadXML Load XML from a string |
10 | save Dumps the internal XML tree back into a file |
11 | saveHTML Dumps the internal document into a string using HTML formatting |
12 | saveHTMLFile Dumps the internal document into a file using HTML formatting |
13 | saveXML Dumps the internal XML tree back into a string |
Hãy sử dụng tệp HTML sau cho ví dụ này −
<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>
Chúng ta sẽ trích xuất Mô hình Đối tượng Tài liệu (DOM) từ tệp HTML trên bằng cách gọi phương thức loadHTMLFile() trong đoạn mã PHP sau −
<?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 />'; } ?>
Nó sẽ tạo ra output −
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 ________________________________________