PHP 超链接 抓取实现代码


Posted in PHP onJune 29, 2009

通用HTML标准超链接参数取得正则表达式测试
因为最近要做一个类似专业搜索引擎的东西,需要抓取网页的所有超链接。
大家帮忙测试一下子,下面的代码是否可以针对所有的标准超链接。
测试代码如下:

<?php 
// -------------------------------------------------------------------------- 
// File name : Noname1.php 
// Description : 通用链接参数获取正则表达式测试 
// Requirement : PHP4 (http://www.php.net) 
// Copyright(C), HonestQiao, 2005, All Rights Reserved. 
// Author: HonestQiao (honestqiao@hotmail.com) 
// 参数说明: 
// $strSource: 包含标准链接的HTML网页 
// $strResult: 处理的结果 
// 附加说明: 
// 标准链接,使用<a></a>形势包含的链接 
// -------------------------------------------------------------------------- 
$strSource = <<<HTML 
<a href=1.htm>t1</a> 
<a href='2.htm'>t2</a> 
<a href="3.htm">t3</a> 
<a href=4.htm class=link>t4</a> 
HTML; 
preg_match_all('/<a.*?(?: \\t\\r\\n)?href=[\'"]?(.+?)[\'"]?(?:(?: \\t\\r\\n)+.*?)?>(.+?)<\/a.*?>/sim', $strSource, $strResult, PREG_PATTERN_ORDER); 
for($i = 0; $i < count($strResult[1]); $i++) 
{ 
printf("%d href=(%s) title=(%s) \n", $i, $strResult[1][$i], $strResult[2][$i]); 
} 
?>

如果您的测试数据,符合标准链接,但是此处没有被处理出来,请告诉我测试数据,以及你的测试环境。
谢谢。
PHP 相关文章推荐
php下获取客户端ip地址的函数
Mar 15 PHP
写php分页时出现的Fatal error的解决方法
Apr 18 PHP
PHP实现根据设备类型自动跳转相应页面的方法
Jul 24 PHP
php之curl设置超时实例
Nov 03 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
Jan 05 PHP
php反射类ReflectionClass用法分析
May 12 PHP
PHP实现创建微信自定义菜单的方法示例
Jul 14 PHP
PHP PDOStatement::fetchAll讲解
Jan 31 PHP
PHP树形结构tree类用法示例
Feb 01 PHP
laravel 使用事件系统统计浏览量的实现
Oct 16 PHP
PHP 99乘法表的几种实现代码
Oct 13 PHP
php字符串倒叙
Apr 01 PHP
PHP 文件上传功能实现代码
Jun 24 #PHP
php addslashes 函数详细分析说明
Jun 23 #PHP
PHP n个不重复的随机数生成代码
Jun 23 #PHP
PHP 七大优势分析
Jun 23 #PHP
php 404错误页面实现代码
Jun 22 #PHP
PHP 多进程 解决难题
Jun 22 #PHP
PHP 高级课程笔记 面向对象
Jun 21 #PHP
You might like
PHP动态变静态原理
2006/11/25 PHP
php5 图片验证码实现代码
2009/12/11 PHP
php计算给定时间之前的函数用法实例
2015/04/03 PHP
php函数连续调用实例分析
2015/07/30 PHP
PHP和Mysql中转UTF8编码问题汇总
2015/10/10 PHP
jquery显示和隐藏div特效实例
2013/02/27 Javascript
怎么选择Javascript框架(Javascript Framework)
2013/11/22 Javascript
jQuery实现类似老虎机滚动抽奖效果
2015/08/06 Javascript
jQuery实现Flash效果上下翻动的中英文导航菜单代码
2015/09/22 Javascript
BootStrap Progressbar 实现大文件上传的进度条的实例代码
2016/06/27 Javascript
Bootstrap字体图标无法正常显示的解决方法
2016/10/08 Javascript
Javascript 实现简单计算器实例代码
2016/10/23 Javascript
vue.js学习之UI组件开发教程
2017/07/03 Javascript
微信小程序实现轮播图效果
2017/09/07 Javascript
webpack+vuex+axios 跨域请求数据的示例代码
2018/03/06 Javascript
JS实现前端页面的搜索功能
2018/06/12 Javascript
微信小程序动态增加按钮组件
2018/09/14 Javascript
Vue之Mixins(混入)的使用方法
2019/09/24 Javascript
Vue3.0数据响应式原理详解
2019/10/09 Javascript
浅析vue-router中params和query的区别
2019/12/24 Javascript
微信小程序调用后台service教程详解
2020/11/06 Javascript
在Python中操作列表之List.append()方法的使用
2015/05/20 Python
Python列表切片用法示例
2017/04/19 Python
python通过pip更新所有已安装的包实现方法
2017/05/19 Python
python调用OpenCV实现人脸识别功能
2018/05/25 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
2020/01/20 Python
Python调用C/C++的方法解析
2020/08/05 Python
python+requests接口自动化框架的实现
2020/08/31 Python
德国珠宝和手表在线商店:VALMANO
2019/03/24 全球购物
建材业务员岗位职责
2013/12/08 职场文书
经贸韩语专业大学生职业规划
2014/02/14 职场文书
老干部工作汇报材料
2014/10/28 职场文书
2014年小学体育工作总结
2014/12/11 职场文书
教师节班会开场白
2015/06/01 职场文书
禁毒心得体会范文
2016/01/15 职场文书
世界十大评分最高的动漫,CLANNAD上榜,第八赚足人们眼泪
2022/03/18 日漫