1. 開始使用
首先下載解壓縮,然後將simple_html_dom.php檔案包含進要編寫的指令檔中,載入要處理的html,支援三種模式的html載入,分別是『從url中載入,從字串中載入,從檔案中載入』。
| 代碼如下 |
複製代碼 |
<?php require_once('simple_html_dom.php'); //從url載入 $html = file_get_html('http://www.111cn.net'); //從字串載入 $html = str_get_html('<html><body>Hello World!</body></html>'); //從檔案中載入 $html = file_get_html('example.htm'); 從字串載入網上檔案需要先從網路下下載,使用cURL比較好一些,需要在php設定檔中開啟php擴充php_curl。 $url = 'http://www.111cn.net'; $ci = curl_init(); curl_setopt($ci,CURLOPT_URL,$url); curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ci, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ci, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch); |
2. 尋找html元素
使用find函數尋找,返回包含對象的數組,常見的尋找如下。
| 代碼如下 |
複製代碼 |
//尋找超連結元素 $alink = $html->find('a'); //尋找第n個串連元素 $alink = $html->find('a',5); //尋找id為main的div $mainDiv = $html->find('div[id=main]'); //尋找所有定義了id的div $idDiv = $html->find('div[id]'); //尋找所有定義了id的元素 $idAll = $html->find('[id]'); //尋找樣式類為info的元素 $classInfo = $html->find('.info'); //支援嵌套子項目尋找 $ret = $html->find('ul li'); //尋找多個html元素 $ret = $html->find('a,img,p'); //....
|
3. 其他
可以使用內建的函數來進行元素的定位,返回父元素parent,返回子項目數組children,返回第一個子項目first_child,返回最後一個子項目last_child,返回前一個相鄰元素prev_sibling,返回後一個相鄰元素next_sibling等。
提供簡單的Regex來過濾屬性選取器,類似於[attribute]的格式。
每個對象都有4個基本屬性:
tag — 返回html標籤名
innertext — 返回innerHTML
outertext — 返回outerHTML
plaintext — 返回HTML標籤中的文本
返回元素屬性值
//返回$alink的href值
$link = $alink->href;
通過設定元素的屬性值可以對元素進行添加、修改、刪除操作。
| 代碼如下 |
複製代碼 |
//刪除url串連 $alink->href = null; //元素的修改 $ret->outertext = '<div class="nav">' . $ret->outertext . '</div>'; $ret->outertext = ''; $ret->outertext = $ret->outertext . '<div>other</div>'; $ret->outertext = '<div>Welcome</div>' . $ret->outertext; -EOF- |