simple_html_dom(入门实例)

php解析html类库simple_html_dom

本猪刚开始要做到一个月更一次博,毕竟自己也处于学习阶段,遇到好的例子在这里总结分享。今天要分享的是simple_html_dom,个人理解就是在php文件中编写和js中功能类似的可以控制html文件的代码。具体如下:


可以新建一个空的文件夹用来存放这个小实例。
1. 项目之前需要先下载用到的simple_html_dom类库, [ 点击下载 ]
链接失效可自行搜索simple_html_dom下载;
2. 将下载好的.php文件放到新建的文件夹下,然后创建demo.html和demo.php两个文件;
3. 在两个文件中写代码。

代码

(一)demo.html文件主要包含一些常用的标签,用来在demo.php文件中做测试:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>php_simple_dom</title>
</head>
<body>
<div class="container" id="gbar">
    <h1>一娃</h1>
    <h2>二娃</h2>
    <h3>三娃</h3>

    <ul>
        <li>吉林</li>
        <li>辽宁</li>
        <li>上海</li>
        <li>广州</li>
    </ul>

    <input type="text" value="111"/>
    <input type="datetime"/>
    <textarea>lallallallalala</textarea>
    <a href="https://www.baidu.com" class="bar" color="red" style="color:red">百度一下</a>
    <img src="https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=2812136344,465892702&fm=58"
         style="width: 30px;height: 30px">
    <span class="gb1">这是span标签</span>
    <button>提交</button>

    <br>
    <table>
        <thead>
        <tr>
            <th>1111</th>
            <th>2222</th>
            <th>3333</th>
        </tr>
        </thead>
        <tbody>
        <tr>
            <td align="center">121212</td>
            <td>343434</td>
            <td>565656</td>
        </tr>
        <tr>
            <td>121212</td>
            <td>343434</td>
            <td>565656</td>
        </tr>
        <tr></tr>
        </tbody>
    </table>
    <div>hahahhaha</div>
</div>
</body>
</html>
(二)demo.php文件引入了类库文件,然后对html标签进行值获取和样式修改,以及setAtribute:
<?php
// example of how to use basic selector to retrieve HTML contents
header("Content-type: text/html; charset=utf-8");
include('simple_html_dom.php');//引入类库文件
$html = file_get_html('demo.html');//获取html文件

//给页面中的a标签添加类名、设置样式
$html->find('a',0)->setAttribute('class','bar');
$html->find('a',0)->setAttribute('style','color:red');

//打印指定标签内容
foreach($html->find('div#gbar') as $e) echo $e->innertext . '<br>';

//向指定标签中添加内容
$aaa = [1,2,3];
$tr = '';
foreach($aaa as $color)
    $tr.="<td>".$color."</td>";
$html->find('tr',3)->innertext = $tr;

//保存修改到指定文件
$html->save('demo.html');

番外:这样操作的缺点会对html文件进行永久性修改
—–即刷新demo.php文件后修改的内容才会被保存到html文件中,且修改后内容被固定,只有再次修改再次执行demo.php文件时html中的内容才会再次被修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值