解 析器不僅僅只是幫助我們驗證html文檔
開始使用
上傳類文件以後
從url中加載html文檔
從字符串中加載html文檔
從文件中加載html文檔
<?php
// 新建一個Dom實例
$html = new simple_html_dom();
// 從url中加載
$html
// 從字符串中加載
$html
//從文件中加載
$html
?>
如果從字符串加載html文檔
查找html元素
可以使用find函數來查找html文檔中的元素
<?php
//查找html文檔中的超鏈接元素
$a = $html
//查找文檔中第(N)個超鏈接
$a = $html
// 查找id為main的div元素
$main = $html
// 查找所有包含有id屬性的div元素
$divs = $html
// 查找所有包含有id屬性的元素
$divs = $html
?>
還可以使用類似jQuery的選擇器來查找定位元素
<?php
// 查找id=
$ret = $html
// 找到所有class=foo的元素
$ret = $html
// 查找多個html標簽
$ret = $html
// 還可以這樣用
$ret = $html
?>
解析器支持對子元素的查找
<?php
// 查找 ul列表中所有的li項
$ret = $html
//查找 ul 列表指定class=selected的li項
$ret = $html
?>
如果你覺得這樣用起來麻煩
<?php
// 返回父元素
$e
// 返回子元素數組
$e
// 通過索引號返回指定子元素
$e
// 返回第一個資源速
$e
// 返回最後一個子元素
$e
// 返回上一個相鄰元素
$e
//返回下一個相鄰元素
$e
?>
元素屬性操作
使用簡單的正則表達式來操作屬性選擇器
[attribute] – 選擇包含某屬性的html元素
[attribute=value] – 選擇所有指定值屬性的html元素
[attribute!=value]
[attribute^=value]
[attribute$=value] 選擇所有指定值結尾屬性的html元素
[attribute*=value]
在解析器中調用元素屬性
在DOM中元素屬性也是對象
<?php
// 本例中將$a的錨鏈接值賦給$link變量
$link = $a
?>
或者
<?php
$link = $html
?
每個對象都有
tag – 返回html標簽名
innertext – 返回innerHTML
outertext – 返回outerHTML
plaintext – 返回html標簽中的文本
在解析器中編輯元素
編輯元素屬性的用法和調用它們是類似的
<?php
//給$a的錨鏈接賦新值
$a
// 刪除錨鏈接
$a
// 檢測是否存在錨鏈接
if(isset($a
//代碼
}
?>
解析器中沒有專門的方法來添加
<?php
// 封裝元素
$e
// 刪除元素
$e
// 添加元素
$e
// 插入元素
$e
?
保存修改後的html DOM文檔也非常簡單
<?php
$doc = $html;
// 輸出
echo $doc;
?>
如何避免解析器消耗過多內存
在 本文的開篇中
<?php
$html
?>
From:http://tw.wingwit.com/Article/program/PHP/201311/20874.html