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 相关文章推荐
Apache中php.ini的设置方法
Feb 28 PHP
解析PHP生成静态html文件的三种方法
Jun 18 PHP
PHP内核探索:变量存储与类型使用说明
Jan 30 PHP
yii框架builder、update、delete使用方法
Apr 30 PHP
php中把美国时间转为北京时间的自定义函数分享
Jul 28 PHP
PHP实现无限极分类图文教程
Nov 25 PHP
PHP mysql事务问题实例分析
Jan 18 PHP
ThinkPHP实现图片上传操作的方法详解
May 08 PHP
Laravel学习教程之model validation的使用示例
Oct 23 PHP
thinkPHP框架动态配置用法实例分析
Jun 14 PHP
php中钩子(hook)的原理与简单应用demo示例
Sep 03 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
Dec 18 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
自制汽车收音机天线:收听广播的技巧和方法
2021/03/02 无线电
BBS(php &amp; mysql)完整版(二)
2006/10/09 PHP
php eval函数用法 PHP中eval()函数小技巧
2012/10/31 PHP
Destoon实现多表查询示例
2014/08/21 PHP
PHP操作mysql数据库分表的方法
2016/06/09 PHP
PHP文件及文件夹操作之创建、删除、移动、复制
2016/07/13 PHP
PHP count_chars()函数讲解
2019/02/14 PHP
jquery里的正则表达式说明
2011/08/03 Javascript
深入理解JavaScript系列(1) 编写高质量JavaScript代码的基本要点
2012/01/15 Javascript
javascript 获取模态窗口的滚动位置代码
2013/08/06 Javascript
一个字符串中出现次数最多的字符 统计这个次数【实现代码】
2016/04/29 Javascript
喜大普奔!jQuery发布 3.0 最终版
2016/06/12 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
使用 NodeJS+Express 开发服务端的简单介绍
2017/04/07 NodeJs
ios设备中angularjs无法改变页面title的解决方法
2018/09/13 Javascript
JS面向对象编程基础篇(一) 对象和构造函数实例详解
2020/03/03 Javascript
Vue实现Layui的集成方法步骤
2020/04/10 Javascript
[01:48]帕吉至宝加入游戏,遗迹战场现“千劫神屠”
2018/04/07 DOTA
python在linux中输出带颜色的文字的方法
2014/06/19 Python
Python的Tornado框架实现异步非阻塞访问数据库的示例
2016/06/30 Python
python生成器,可迭代对象,迭代器区别和联系
2018/02/04 Python
运用TensorFlow进行简单实现线性回归、梯度下降示例
2018/03/05 Python
Python实现平行坐标图的两种方法小结
2019/07/04 Python
django foreignkey外键使用的例子 相当于left join
2019/08/06 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
2020/01/03 Python
Python +Selenium解决图片验证码登录或注册问题(推荐)
2020/02/09 Python
Python猴子补丁Monkey Patch用法实例解析
2020/03/23 Python
python3.7 openpyxl 在excel单元格中写入数据实例
2020/09/01 Python
深入CSS3 动画效果的总结详解
2013/05/09 HTML / CSS
英国最专业的健身器材供应商之一:Best Gym Equipment
2017/12/22 全球购物
评析教师个人的自我评价
2014/02/19 职场文书
大学老师推荐信
2014/02/25 职场文书
人事任命书格式
2014/06/05 职场文书
学前班幼儿评语大全
2014/12/29 职场文书
工作年限证明范本
2015/06/15 职场文书
大学毕业生自我鉴定范文
2019/06/21 职场文书