simple_html_dom(入门实例)

php解析html类库simple_html_dom

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


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

代码

(一)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中的内容才会再次被修改。git