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 相关文章推荐
phpMyAdmin 安装及问题总结
May 28 PHP
IIS6.0中配置php服务全过程解析
Aug 07 PHP
php实现上传图片生成缩略图示例
Apr 13 PHP
ThinkPHP模板判断输出Defined标签用法详解
Jun 30 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
Jan 07 PHP
在Mac OS的PHP环境下安装配置MemCache的全过程解析
Feb 15 PHP
10个对初学者非常有用的PHP技巧
Apr 06 PHP
php 计算两个时间相差的天数、小时数、分钟数、秒数详解及实例代码
Nov 09 PHP
PHP静态成员变量
Feb 14 PHP
php根据用户名和手机号查询是否存在手机号码
Feb 16 PHP
yii2 commands模式以及配置crontab定时任务的方法
Aug 19 PHP
详解php中curl返回false的解决办法
Mar 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
第五节 克隆 [5]
2006/10/09 PHP
php PDO中文乱码解决办法
2009/07/20 PHP
php 无限级数据JSON格式及JS解析
2010/07/17 PHP
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
2012/03/06 PHP
ThinkPHP3.1新特性之对分组支持的改进与完善概述
2014/06/19 PHP
php通过smtp邮件验证登陆的方法
2016/05/11 PHP
PHP socket 模拟POST 请求实例代码
2016/07/18 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
2019/10/21 PHP
ajax异步刷新实现更新数据库
2012/12/03 Javascript
FireBug 调试JS入门教程 如何调试JS
2013/12/23 Javascript
JQuery记住用户名密码实现下次自动登录功能
2015/04/27 Javascript
JS实现漂亮的时间选择框效果
2016/08/20 Javascript
jquery 多个radio的click事件实例
2016/12/03 Javascript
JS实现的五级联动菜单效果完整实例
2017/02/23 Javascript
Vue监听数组变化源码解析
2017/03/09 Javascript
Bootstrap.css与layDate日期选择样式起冲突的解决办法
2017/04/07 Javascript
Angular2.0/4.0 使用Echarts图表的示例代码
2017/12/07 Javascript
深入浅析Vue.js中 computed和methods不同机制
2018/03/22 Javascript
axios+Vue实现上传文件显示进度功能
2019/04/14 Javascript
Js代码中的span拼接问题解决
2019/11/22 Javascript
angular共享依赖的解决方案分享
2020/10/15 Javascript
Vue常用API、高级API的相关总结
2021/02/02 Vue.js
vue仿携程轮播图效果(滑动轮播,下方高度自适应)
2021/02/11 Vue.js
代码块高亮可复制显示js插件highlight.js+clipboard.js整合
2021/02/15 Javascript
[01:27:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第一场 1月24日
2021/03/11 DOTA
python用10行代码实现对黄色图片的检测功能
2015/08/10 Python
小车司机岗位职责
2013/11/25 职场文书
皮肤科医师岗位职责
2013/12/04 职场文书
医德医风演讲稿
2014/05/20 职场文书
法院信息化建设方案
2014/05/21 职场文书
中队活动总结
2014/08/27 职场文书
学校运动会报道稿
2014/09/23 职场文书
局机关干部群众路线个人对照检查材料思想汇报
2014/10/05 职场文书
结婚通知短信怎么写
2015/04/17 职场文书
2015年煤矿工作总结
2015/04/28 职场文书
创业计划书之烤红薯
2019/09/26 职场文书