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

simple_html_dom(入门实例)相关推荐

  1. Asp.Net MVC2.0 Url 路由入门---实例篇

    本篇主要讲述Routing组件的作用,以及举几个实例来学习Asp.Net MVC2.0 Url路由技术. 接着上一篇开始讲,我们在Global.asax中注册一条路由后,我们的请求是怎么转到相应的Vi ...

  2. SpringMVC 框架系列之初识与入门实例

    微信公众号:compassblog 欢迎关注.转发,互相学习,共同进步! 有任何问题,请后台留言联系! 1.SpringMVC 概述 (1).什么是 MVC:Model-View-Control Co ...

  3. 《HFSS电磁仿真设计从入门到精通》一第2章 入门实例——T形波导的内场分析和优化设计...

    本节书摘来自异步社区<HFSS电磁仿真设计从入门到精通>一书中的第2章,作者 易迪拓培训 , 李明洋 , 刘敏,更多章节内容可以访问云栖社区"异步社区"公众号查看 第2 ...

  4. python爬虫实例-10个python爬虫入门实例

    昨天带伙伴萌学习python爬虫,准备了几个简单的入门实例 涉及主要知识点: web是如何交互的 requests库的get.post函数的应用 response对象的相关函数,属性 python文件 ...

  5. python爬虫程序实例-10个python爬虫入门实例

    作者:h3zh1 来源:cnblogs.com/h3zh1/p/12548946.html 今天为大家准备了几个简单的python爬虫入门实例,分享给大家. 涉及主要知识点:web是如何交互的 req ...

  6. ADO.NET Entity Data Model入门实例

    ADO.NET Entity Data Model入门实例 快速开发一个网站,最繁琐的地方可能要算数据库访问和ORM了,还好.net中这个很强大,可以省去好多体力劳动. 这里就给个快速使用ADO.NE ...

  7. Java Socket入门实例

    基于测试驱动的Socket入门实例(代码的具体功能可以看我的程序中的注释,不理解的可以短信我) 先看Server的代码: package socketStudy; import java.io.Buf ...

  8. linux Shell(脚本)编程入门实例讲解详解

    linux Shell(脚本)编程入门实例讲解详解 为什么要进行shell编程 在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具.Shell不仅仅是命令的收集, ...

  9. Activiti工作流从入门到入土:入门实例

    一.前言 在上一节中我们对activiti进行了基本的介绍activiti进行了基本的介绍,同时介绍了基本的概念. 这一节,我将用一个入门程序,介绍如何使用activiti. 二.环境准备 2.1.编 ...

  10. Spring-MVC入门(一):入门实例

    引言 1.MVC :Model-View-Control 框架性质的C 层要完成的主要工作:封装web 请求为一个数据对象.调用业务逻辑层来处理数据对象.返回处理数据结果及相应的视图给用户. 2. 简 ...

最新文章

  1. python入门到精通需要学多久-python学习从入门到精通要多久
  2. LeetCode 90子集Ⅱ91解码方法
  3. post上传代码实现
  4. 20220129刷题--第4题-- cookie
  5. 国二考试c语言考场能炒么,国2考试题_计算机国二office高级应用考试的题目是从题库20套里抽其中一套还是别的题目_淘题吧...
  6. ARUA2017创新转型峰会(ATIC)启动上海
  7. tensorflow(一)windows 10 python3.6安装tensorflow1.4与基本概念解读
  8. UWP开发入门(八)——聊天窗口和ItemTemplateSelector
  9. 一天搞懂机器学习PPT笔记-1
  10. JNB, JBE, JGE, JLE 指令的转移条件
  11. 儿子考上清华大学计算机系视频,儿子考上清华大学,家长忙发朋友圈,但收到的却不是祝福是心寒...
  12. 【leetcode-Python】-Dynamic Programming -309. Best Time to Buy and Sell Stock with Cooldown
  13. springboot项目搭建0050-整合通用mapper
  14. 江南大学c语言课程绩点评分,江南大学本科生学分绩点制实施办法.doc
  15. html轮廓线怎么取消,c4d这些线条怎么取消掉
  16. ios客户端学习-被苹果开发者中心拒绝附件上传不上
  17. 微信点击短链接直接跳转到支付宝领红包教程 附带例子
  18. elasticsearch 学习笔记3
  19. 非盈利性传播、学习“几种方法系统类专利撰写技巧”
  20. 7个Linux手机平台比较 (1):进程间通信的异同

热门文章

  1. Java对象结构与锁实现原理及MarkWord详解
  2. 深入浅出IAM(1)
  3. 【LENOVO】联想T450s重装win10 64位系统
  4. 二进制安全之NX绕过方法--ROP技术
  5. Multisim 设计任务
  6. coreldraw的线条怎么变成圆头_如何PS包装盒平面图改为立体图
  7. 图片识别 python 神经网络,人工神经网络图像识别
  8. chromium摘抄
  9. GitLab 邮件发送不成功原因
  10. C++笔记005:用面向过程和面向对象方法求解圆形面积