|
解析器不僅僅只是幫助我們驗(yàn)證html文檔;更能解析不符合W3C標(biāo)準(zhǔn)的html文檔。它使用了類似jQuery的元素選擇器,通過元素的id,class,tag等等來查找定位;同時(shí)還提供添加、刪除、修改文檔樹的功能。當(dāng)然,這樣一款強(qiáng)大的html Dom解析器也不是盡善盡美;在使用的過程中需要十分小心內(nèi)存消耗的情況。不過,不要擔(dān)心;本文中,筆者在最后會(huì)為各位介紹如何避免消耗過多的內(nèi)存。
開始使用
上傳類文件以后,有三種方式調(diào)用這個(gè)類:
從url中加載html文檔
從字符串中加載html文檔
從文件中加載html文檔
復(fù)制代碼 代碼如下:
<?php
// 新建一個(gè)Dom實(shí)例
$html = new simple_html_dom();
// 從url中加載
$html->load_file('http://www.jb51.NET');
// 從字符串中加載
$html->load('<html><body>從字符串中加載html文檔演示</body></html>');
//從文件中加載
$html->load_file('path/file/test.html');
?>
如果從字符串加載html文檔,需要先從網(wǎng)絡(luò)上下載。建議使用cURL來抓取html文檔并加載DOM中。
查找html元素
可以使用find函數(shù)來查找html文檔中的元素。返回的結(jié)果是一個(gè)包含了對(duì)象的數(shù)組。我們使用HTML DOM解析類中的函數(shù)來訪問這些對(duì)象,下面給出幾個(gè)示例:
復(fù)制代碼 代碼如下:
<?php
//查找html文檔中的超鏈接元素
$a = $html->find('a');
//查找文檔中第(N)個(gè)超鏈接,如果沒有找到則返回空數(shù)組.
$a = $html->find('a', 0);
// 查找id為main的div元素
$main = $html->find('div[id=main]',0);
// 查找所有包含有id屬性的div元素
$divs = $html->find('div[id]');
// 查找所有包含有id屬性的元素
$divs = $html->find('[id]');
?>
還可以使用類似jQuery的選擇器來查找定位元素:
復(fù)制代碼 代碼如下:
<?php
// 查找id='#container'的元素
$ret = $html->find('#container');
// 找到所有class=foo的元素
$ret = $html->find('.foo');
// 查找多個(gè)html標(biāo)簽
$ret = $html->find('a, img');
// 還可以這樣用
$ret = $html->find('a[title], img[title]');
?>
解析器支持對(duì)子元素的查找
復(fù)制代碼 代碼如下:
<?php
// 查找 ul列表中所有的li項(xiàng)
$ret = $html->find('ul li');
//查找 ul 列表指定class=selected的li項(xiàng)
$ret = $html->find('ul li.selected');
?>
如果你覺得這樣用起來麻煩,使用內(nèi)置函數(shù)可以輕松定位元素的父元素、子元素與相鄰元素
復(fù)制代碼 代碼如下:
<?php
// 返回父元素
$e->parent;
// 返回子元素?cái)?shù)組
$e->children;
// 通過索引號(hào)返回指定子元素
$e->children(0);
// 返回第一個(gè)資源速
$e->first_child ();
// 返回最后一個(gè)子元素
$e->last _child ();
// 返回上一個(gè)相鄰元素
$e->prev_sibling ();
//返回下一個(gè)相鄰元素
$e->next_sibling ();
?>
元素屬性操作
使用簡單的正則表達(dá)式來操作屬性選擇器。
[attribute] 主站蜘蛛池模板: 91精品国产综合久久久亚洲 | 国产精品视频一 | 在线国产视频观看 | 亚洲一区二区三区视频免费观看 | 欧美久久一区二区 | 96国产精品久久久久aⅴ四区 | 国产精品欧美一区二区三区不卡 | 视频在线一区二区 | 成人精品网 | 亚洲影视在线 | 91在线视频在线观看 | 成人av在线播放 | 欧美久久久网站 | 成人欧美一区二区三区在线播放 | 久久久久久亚洲精品 | 天天久| 国产成人av一区二区三区 | 日韩av资源站 | 国产精品一区二区在线免费观看 | 亚洲精品无 | 中文字幕视频一区 | 污片在线免费观看 | 啪一啪在线视频 | 亚洲精品久久嫩草网站秘色 | 国产专区在线 | 亚洲高清在线 | 国产一区二区三区网站 | 91av视频在线观看 | 日韩成人免费 | 丝袜毛片| 国产羞羞视频在线观看 | 免费黄色大片 | 久久精品小视频 | 亚洲电影一区二区三区 | 亚洲电影一区二区三区 | 岛国毛片在线观看 | 91精品国产91久久久久久吃药 | 91九色在线观看 | 日韩视频专区 | 黄色大片在线 | 九色91视频 |