用phpQuery像jquery一样解析html代码
发布时间:2020-05-26 13:06:15 所属栏目:PHP 来源:互联网
导读:简介如何在php中方便地解析html代码,估计是每个phper都会遇到的问题。用phpQuery就可以让php处理html代码像jQuery一样方便。项目地址:https://code.google.com/p/phpquery/github地址:https://github.com/TobiaszCudnik/phpqueryDEMO下载库文件:https://c
简介如何在php中方便地解析html代码,估计是每个phper都会遇到的问题。用phpQuery就可以让php处理html代码像jQuery一样方便。 项目地址: github地址: DEMO下载库文件: 我下的是onefile版: 官方demo: 然后在项目中引用。 html文件test.html: Spiderman City Drive Spiderman - City Raid ('phpQuery-onefile.php'</span><span style="color: #800080;">$filePath</span> = 'test.html'<span style="color: #000000;">;
</span><span style="color: #800080;">$fileContent</span> = <span style="color: #008080;">file_get_contents</span>(<span style="color: #800080;">$filePath</span><span style="color: #000000;">);
</span><span style="color: #800080;">$doc</span> = phpQuery::newDocumentHTML(<span style="color: #800080;">$fileContent</span><span style="color: #000000;">);
phpQuery</span>::selectDocument(<span style="color: #800080;">$doc</span><span style="color: #000000;">);
</span><span style="color: #800080;">$data</span> = <span style="color: #0000ff;">array</span><span style="color: #000000;">(
</span>'name' => <span style="color: #0000ff;">array</span>(),'href' => <span style="color: #0000ff;">array</span>(),'img' => <span style="color: #0000ff;">array</span><span style="color: #000000;">()
);
</span><span style="color: #0000ff;">foreach</span> (pq('a') <span style="color: #0000ff;">as</span> <span style="color: #800080;">$t</span><span style="color: #000000;">) {
</span><span style="color: #800080;">$href</span> = <span style="color: #800080;">$t</span> -> getAttribute('href'<span style="color: #000000;">);
</span><span style="color: #800080;">$data</span>['href'][] = <span style="color: #800080;">$href</span><span style="color: #000000;">;
}
</span><span style="color: #0000ff;">foreach</span> (pq('img') <span style="color: #0000ff;">as</span> <span style="color: #800080;">$img</span><span style="color: #000000;">) {
</span><span style="color: #800080;">$data</span>['img'][] = <span style="color: #800080;">$domain</span> . <span style="color: #800080;">$img</span> -> getAttribute('src'<span style="color: #000000;">);
}
</span><span style="color: #0000ff;">foreach</span> (pq('.GameName') <span style="color: #0000ff;">as</span> <span style="color: #800080;">$name</span><span style="color: #000000;">) {
</span><span style="color: #800080;">$data</span>['name'][] = <span style="color: #800080;">$name</span> -><span style="color: #000000;"> nodeValue;
}
</span><span style="color: #008080;">var_dump</span>(<span style="color: #800080;">$data</span><span style="color: #000000;">);
?> 上面的代码中包含了取属性和innerText内容(通过nodeValue取)。 输出: (size=3'name' => (size=20 => 'Spiderman City Drive' (length=201 => 'Spiderman - City Raid' (length=21'href' => (size=20 => 'http://www.gahe.com/Spiderman-City-Drive' (length=401 => 'http://www.gahe.com/Spiderman-City-Raid' (length=39'img' => (size=20 => 'http://www.gahe.com/thumb/12/Spiderman-City-Drive.jpg' (length=531 => 'http://www.gahe.com/thumb/12/Spiderman-City-Raid.jpg' (length=52)强大的是pq选择器,语法类似jQuery,很方便。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
