php获取页面指定内容,php获取页面指定标签内容的实现代码分享

php获取页面指定标签内容的实现代码分享

可以匹配任意可闭合带id标签

header ( "Content-type: text/html; charset=utf-8" );

/*

* 参数说明: $tag_id:所要获取的元素Tag Id $url:所要获取页面的Url $tag:所要获取的标签 $data

*/

function getWebTag($tag_id, $url = false, $tag = 'div', $data = false) {

if ($url !== false) {

$data = file_get_contents ( $url );

}

$charset_pos = stripos ( $data, 'charset' );

if ($charset_pos) {

if (stripos ( $data, 'utf-8', $charset_pos )) {

$data = iconv ( 'utf-8', 'utf-8', $data );

} else if (stripos ( $data, 'gb2312', $charset_pos )) {

$data = iconv ( 'gb2312', 'utf-8', $data );

} else if (stripos ( $data, 'gbk', $charset_pos )) {

$data = iconv ( 'gbk', 'utf-8', $data );

}

}

preg_match_all ( '/

preg_match_all ( '/

$hit = strpos ( $data, $tag_id );

if ($hit == - 1)

return false; // 未命中

$divs = array (); // 合并所有div

foreach ( $pre_matches [0] as $index => $pre_div ) {

$divs [( int ) $pre_div [1]] = 'p';

$divs [( int ) $suf_matches [0] [$index] [1]] = 's';

}

// 对div进行排序

$sort = array_keys ( $divs );

asort ( $sort );

$count = count ( $pre_matches [0] );

foreach ( $pre_matches [0] as $index => $pre_div ) {

//

if (($pre_matches [0] [$index] [1] < $hit) && ($hit < $pre_matches [0] [$index + 1] [1])) {

$deeper = 0;

// 弹出被命中div前的div

while ( array_shift ( $sort ) != $pre_matches [0] [$index] [1] && ($count --) )

continue;

// 对剩余div进行匹配,若下一个为前缀,则向下一层,$deeper加1,

// 否则后退一层,$deeper减1,$deeper为0则命中匹配,计算div长度

foreach ( $sort as $key ) {

if ($divs [$key] == 'p')

$deeper ++;

else if ($deeper == 0) {

$length = $key - $pre_matches [0] [$index] [1];

break;

} else {

$deeper --;

}

}

$hitDivString = substr ( $data, $pre_matches [0] [$index] [1], $length ) . '' . $tag . '>';

break;

}

}

return $hitDivString;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/343859.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据光端机设备性能指标介绍

作为安防监控工程&#xff0c;设备的可靠性应该是第一考虑要素。而数据光端机设备的可靠性是设备厂商在产品设计时就必需考虑的&#xff0c;但是&#xff0c;有些厂商可能会因为某些原因而不愿做或不知道怎么做这方面的工作&#xff0c;在这里着重从工程的角度简单地讨论以下问…

[渝粤教育] 西南科技大学 行政法学与行政诉讼法学 在线考试复习资料(1)

行政法学与行政诉讼法学——在线考试复习资料 一、单选题 1.某省工商局与税务局联名对某公司作出处罚,吊销其营业执照,罚款100万元。该公司提起复议,复议机关是( ) A.国家工商总局 B.国家税务总局 C.国务院 D.省政府 2.行政相对人对下列行为不能申请行政复议的是哪一种?( ) A…

光电转换器有什么作用?光纤收发器如何保养?

光电转换器可以使原来的快速以太网平滑升级&#xff0c;并能充分保护用户原来的网络资源&#xff0c;它也可以称为光纤收发器。光电转换器可以实现交换机和计算机之间的互联&#xff0c;也可以作为传输中继&#xff0c;还可以进行单多模转换。光纤收发器在应用过程中&#xff0…

php中id如何与删除关联,ThinkPHP查询语句与关联查询用法实例

这篇文章主要介绍了ThinkPHP查询语句与关联查询用法,以实例的形式常见的查询方法,包括数组作为查询条件及对象方式来查询等技巧,需要的朋友可以参考下本文实例讲述了ThinkPHP查询语句与关联查询用法。分享给大家供大家参考。具体如下&#xff1a;在thinkphp框架页面中我们可以直…

[渝粤教育] 西南科技大学 货币银行学 在线考试复习资料

货币银行学——在线考试复习资料 一、单选题 1.最严重的恶性通货膨胀的最终结果是( )。 A.突发性的商品抢购 B.挤兑银行 C.货币制度崩溃 D.投机盛行 2.凯恩斯的货币需求函数非常重视( )。 A.恒久收入的作用 B.货币供应量的作用 C.利率的作用 D.汇率的作用 3.下列西方的中央银…

latex段落悬挂缩进_使用正则表达式在Java中悬挂缩进段落

latex段落悬挂缩进这篇文章显示了如何使用正则表达式将缩进的长段落挂起。 该方法将考虑单词边界&#xff0c;这意味着它不会破坏缩进单词。 为了说明此问题&#xff0c;请考虑以下示例&#xff1a; 近年来&#xff0c;人们越来越努力从自然语言文本中提取实体之间的关系。 在…

【渝粤教育】电大中专会计电算化 (2)作业 题库

1下列有关会计电算化狭义概念的说法正确的是()。 A以会计理论为主体的电子信息技术在会计工作中的应用 B与实现电算化有关的所有工作 C以电子计算机为主体的电子信息技术在会计工作中的应用 D与实现电算化有关的主要工作 错误 正确答案&#xff1a;左边查询 学生答案&#xff1…

光纤模块与光纤收发器的区别

随着科技的发展&#xff0c;城市信息化速度的加快&#xff0c;对于通信技术的要求越来越高&#xff0c;光纤以其传输速度快、距离远、安全稳定、抗干扰、扩容便捷等优点越来越成为人们在通讯敷设时的首选。我们经常看到在建筑智能化项目中的远距离数据传输需求&#xff0c;基本…

html中输出PHP的下拉列表,html中关于下拉列表select的图文代码详解

HTML中的下拉列表&#xff1a;Html代码VolvoSaabOpelAudi其中select是显示一个下拉列表(drop down list)出来&#xff0c;option是下拉列表中的项目(item)&#xff0c;而option的文本内容(text content)是下拉列表项目中显示到页面上的值&#xff0c;value是真正需要提交到服务…

【渝粤教育】电大中专学前儿童语言教育 (2)作业 题库

作业视频教务托管&#xff0c;壹叁路路贰陆陆壹〇肆〇 认为儿童天生就有学习语言能力且体现在一种语言获得装置&#xff08;LAD&#xff09;中的教育家是( )。 A.皮亚杰 B.乔姆斯基 C.伍顿 D.斯金纳 错误 正确答案&#xff1a;左边查询 学生答案&#xff1a;未作答 2.语言是( )…

光纤收发器tx和rx的区别?

光纤收发器&#xff0c;是一种将短距离的双绞线电信号和长距离的光信号进行互换的以太网传输媒体转换单元&#xff0c;在很多地方也被称之为光电转换器&#xff08;Fiber Converter&#xff09;。产品一般应用在以太网电缆无法覆盖、必须使用光纤来延长传输距离的实际网络环境中…

【渝粤教育】电大中专幼儿园课程论 (10)作业 题库

作业视频教务托管&#xff0c;壹叁路路贰陆陆壹〇肆〇 下列哪种不是具有代表性的课程定义( ) A.课程即知识 B.课程即目标 C.课程即科目 D.课程即经验 错误 正确答案&#xff1a;左边查询 学生答案&#xff1a;未作答 2.幼儿园课程目标要素不包括( ) A.内容 B.目标 C.特征 D.评价…

php缓存实例,一个PHP缓存类实例

一个PHP缓存类实例发布于 2014-08-05 21:44:28 | 104 次阅读 | 评论: 0 | 来源: 网友投递PHP开源脚本语言PHP(外文名: Hypertext Preprocessor&#xff0c;中文名&#xff1a;“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点&#xff0c;入门门…

[渝粤教育] 中国地质大学 金融保险业会计 复习题

《金融保险会计》模拟题 单选题 1.下列不符合外汇分账制基本要求的有(). A.对各种外币的收付凡有人民币牌价的平时都按原币填制凭证登记账簿编制报表 B.对各种外币的收付凡有人民币牌价的平时都按人民币填制凭证登记账簿编制报表 C.设置”外汇买卖”科目 D.各种外币分别设置一…

光纤收发器常见指示灯的意义

光纤收发器是一种常见的网络设备&#xff0c;主要用于延长网络传输距离。它有很多指示灯&#xff0c;其中LAN指示灯、POWER指示灯、POTS指示灯、LOS指示灯、PON指示灯比较常见&#xff0c;不同指示灯代表着不同的意义&#xff0c;我们可以通过指示灯的闪烁情况和开关情况&#…

php mysql_query预处理,php+mysqli使用预处理技术进行数据库查询的方法

本文实例讲述了phpmysqli使用预处理技术进行数据库查询的方法。分享给大家供大家参考。具体如下&#xff1a;代码有些难度&#xff0c;需要基础知识比较扎实才能好理解&#xff0c;代码先放上来&#xff1a;这里实现查询所有 id>5 的 id&#xff0c;title&#xff0c;conten…

[渝粤教育] 中国地质大学 高级会计学 复习题

《高级会计学》模拟题 一单选题 1.2007年1月1日甲公司以一台固定资产和银行存款400万元向乙公司投资()占乙公司注册资本的60%该固定资产的账面原价为8000万元已计提累计折旧500万元已计提固定资产减值准备200万元公允价值为7600万元.同日乙公司可辨认净资产公允价值为13000万元…

实现函数克隆_哪个更好的选择:克隆或复制构造函数?

实现函数克隆这就是我开始撰写本文的方式。 我已经读过很多次这样的声明&#xff1a; “当对象引用可变的最终字段时&#xff0c;克隆变得很困难。” 每次我在Google上搜索它时&#xff0c;都要了解它的确切含义&#xff0c;并且在此过程中也忘了它。 因此以为我会将其写在博客…

[渝粤教育] 西南科技大学 服务管理 在线考试复习资料

服务管理——在线考试复习资料 一、单选题 1.不属于服务组织排队结构的是( ) A.随机排队 B.单一排队 C.多条排队 D.领号排队 2.服务接触的三元组合没有下列哪项是( ) A.服务组织 B.与客户接触服务人员 C.顾客 D.服务流程 3.下列哪种服务属于复杂性高而且标准化程度高的( ) A.…

光纤收发器元件级和整机测试内容介绍

对光纤收发器的测试可分为元件级和整机测试&#xff0c;元件级测试主要包括对光纤收发器内部关键器件在电工作的电性能测试。整机测试主要指将光纤收发器接入到以太局域网中&#xff0c;测试整机的功能、性能和特性。那么&#xff0c;具体要怎样测试光纤收发器才是一次完整的测…