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结合飞信 免费天气预报短信
May 07 PHP
php addslashes和mysql_real_escape_string
Jan 24 PHP
destoon调用企业会员公司形象图片的实现方法
Aug 21 PHP
php计算title标题相似比的方法
Jul 29 PHP
WordPress主题中添加文章列表页页码导航的PHP代码实例
Dec 22 PHP
深入浅析php中sprintf与printf函数的用法及区别
Jan 08 PHP
php微信开发之自定义菜单实现
Nov 18 PHP
php pdo操作数据库示例
Mar 10 PHP
PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
Apr 27 PHP
PHP中error_reporting函数用法详细介绍
Jun 11 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
Nov 17 PHP
PHP实现的抓取小说网站内容功能示例
Jun 27 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访问查询mysql数据的三种方法
2006/10/09 PHP
PHP扩展编写点滴 技巧收集
2010/03/09 PHP
php中几种常见安全设置详解
2010/04/06 PHP
新浪SAE搭建PHP项目教程
2015/01/28 PHP
PHP中的session安全吗?
2016/01/22 PHP
微信公众平台DEMO(PHP)
2016/05/04 PHP
PHP array_key_exists检查键名或索引是否存在于数组中的实现方法
2016/06/13 PHP
jquery地址栏链接与a标签链接匹配之特效代码总结
2015/08/24 Javascript
使用jQuery获取data-的自定义属性
2015/11/10 Javascript
轻松使用jQuery双向select控件Bootstrap Dual Listbox
2015/12/13 Javascript
jquery中object对象循环遍历的方法
2015/12/18 Javascript
判断横屏竖屏(三种)
2017/02/13 Javascript
原生javascript实现文件异步上传的实例讲解
2017/10/26 Javascript
详解webpack模块化管理和打包工具
2018/04/21 Javascript
基于Vue自定义指令实现按钮级权限控制思路详解
2018/05/23 Javascript
JS引用传递与值传递的区别与用法分析
2018/06/01 Javascript
基于React+Redux的SSR实现方法
2018/07/03 Javascript
JS实现网站吸顶条
2020/01/08 Javascript
[01:10]DOTA2次级职业联赛 - EP战队宣传片
2014/12/01 DOTA
举例讲解Python编程中对线程锁的使用
2016/07/12 Python
在Python中调用Ping命令,批量IP的方法
2019/01/26 Python
VSCode Python开发环境配置的详细步骤
2019/02/22 Python
python对Excel按条件进行内容补充(推荐)
2019/11/24 Python
python GUI库图形界面开发之PyQt5中QMainWindow, QWidget以及QDialog的区别和选择
2020/02/26 Python
Python龙贝格法求积分实例
2020/02/29 Python
Python日志logging模块功能与用法详解
2020/04/09 Python
paramiko使用tail实时获取服务器的日志输出详解
2020/12/06 Python
python解包概念及实例
2021/02/17 Python
5个你不知道的HTML5的接口介绍
2013/08/07 HTML / CSS
Belstaff英国官方在线商店:Belstaff.co.uk
2021/02/09 全球购物
幼儿园儿童节主持词
2014/03/21 职场文书
个人求职意向书
2015/05/11 职场文书
欠条范文
2015/07/03 职场文书
2016年9月份红领巾广播稿
2015/12/21 职场文书
教你使用Python获取QQ音乐某个歌手的歌单
2022/04/03 Python
清空 Oracle 安装记录并重新安装
2022/04/26 Oracle