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中几个常用的魔术常量
Feb 23 PHP
基于PHP对XML的操作详解
Jun 07 PHP
探讨:使用XMLSerialize 序列化与反序列化
Jun 08 PHP
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
Apr 01 PHP
教你如何用php实现LOL数据远程获取
Jun 10 PHP
php判断类是否存在函数class_exists用法分析
Nov 14 PHP
PHP5.4起内置web服务器使用方法
Aug 09 PHP
php获取当前月与上个月月初及月末时间戳的方法
Dec 05 PHP
PHP 应用容器化以及部署方法
Feb 12 PHP
PHP基于面向对象实现的留言本功能实例
Apr 04 PHP
PHP实现发送微博消息功能完整示例
Dec 04 PHP
浅谈PHP中的那些魔术常量
Dec 02 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
PHP4实际应用经验篇(5)
2006/10/09 PHP
关于PHP5 Session生命周期介绍
2010/03/02 PHP
PHP判断表单复选框选中状态完整例子
2014/06/24 PHP
php中的字符编码转换函数用法示例
2014/10/20 PHP
PDO防注入原理分析以及注意事项
2015/02/25 PHP
php检查日期函数checkdate用法实例
2015/03/19 PHP
JavaScript中的Document文档对象
2008/01/16 Javascript
jquery 事件执行检测代码
2009/12/09 Javascript
JS+CSS实现的经典圆角下拉菜单效果代码
2015/10/21 Javascript
跟我学习javascript的函数和函数表达式
2015/11/16 Javascript
javascript实现tab响应式切换特效
2016/01/29 Javascript
JS产生随机数的几个用法详解
2016/06/22 Javascript
Listloading.js移动端上拉下拉刷新组件
2016/08/04 Javascript
[Bootstrap-插件使用]Jcrop+fileinput组合实现头像上传功能实例代码
2016/12/20 Javascript
js实现简单数字变动效果
2017/11/06 Javascript
解决使用Vue.js显示数据的时,页面闪现原始代码的问题
2018/02/11 Javascript
使用vue根据状态添加列表数据和删除列表数据的实例
2018/09/29 Javascript
npm 常用命令详解(小结)
2019/01/17 Javascript
javascript实现点亮灯泡特效示例
2019/10/15 Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
2020/02/04 jQuery
python处理大数字的方法
2015/05/27 Python
Python Pandas找到缺失值的位置方法
2018/04/12 Python
Python切片操作去除字符串首尾的空格
2019/04/22 Python
pycharm访问mysql数据库的方法步骤
2019/06/18 Python
python获取指定日期范围内的每一天,每个月,每季度的方法
2019/08/08 Python
将Python文件打包成.EXE可执行文件的方法
2019/08/11 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
2020/04/08 Python
Python3与fastdfs分布式文件系统如何实现交互
2020/06/23 Python
python uuid生成唯一id或str的最简单案例
2021/01/13 Python
企业为何需要商业计划书
2013/12/26 职场文书
珍珠鸟教学反思
2014/02/01 职场文书
2014年毕业演讲稿范文
2014/05/13 职场文书
社区领导班子四风问题原因分析及整改措施
2014/09/28 职场文书
2015年党员创先争优承诺书
2015/01/22 职场文书
python 实现定时任务的四种方式
2021/04/01 Python
关于Mybatis中SQL节点的深入解析
2022/03/19 Java/Android