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 相关文章推荐
第十一节 重载 [11]
Oct 09 PHP
adodb与adodb_lite之比较
Dec 31 PHP
php 魔术函数使用说明
Feb 21 PHP
php str_pad() 将字符串填充成指定长度的字符串
Feb 23 PHP
关于php循环跳出的问题
Jul 01 PHP
PHP导航下拉菜单的实现如此简单
Sep 22 PHP
zf框架的registry(注册表)使用示例
Mar 13 PHP
php 过滤英文标点符号及过滤中文标点符号代码
Jun 12 PHP
Windows下的PHP安装pear教程
Oct 24 PHP
各种快递查询--Api接口
Apr 26 PHP
php中final关键字用法分析
Dec 07 PHP
PHP中cookie知识点学习
May 06 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
用IE远程创建Mysql数据库的简易程序
2006/10/09 PHP
PHP 动态随机生成验证码类代码
2010/04/09 PHP
又十个超级有用的PHP代码片段
2015/09/24 PHP
Yii2语言国际化的配置教程
2018/08/19 PHP
PHP进阶学习之命名空间基本用法分析
2019/06/18 PHP
可以显示单图片,多图片ajax请求的ThickBox3.1类下载
2007/12/23 Javascript
js身份证验证超强脚本
2008/10/26 Javascript
基于jquery实现的上传图片及图片大小验证、图片预览效果代码
2011/04/12 Javascript
比较不错的JS/JQuery显示或隐藏文本的方法
2014/02/13 Javascript
jquery实现textarea 高度自适应
2015/03/11 Javascript
学习Node.js模块机制
2016/10/17 Javascript
js原生实现FastClick事件的实例
2016/11/20 Javascript
jQuery中ajax获取数据赋值给页面的实例
2017/12/31 jQuery
快速解决Vue项目在IE浏览器中显示空白的问题
2018/09/04 Javascript
vue基于element的区间选择组件
2018/09/07 Javascript
vue使用better-scroll实现下拉刷新、上拉加载
2018/11/23 Javascript
Node.js使用MongoDB的ObjectId作为查询条件的方法
2019/09/10 Javascript
详解钉钉小程序组件之自定义模态框(弹窗封装实现)
2020/03/07 Javascript
Vue使用Proxy代理后仍无法生效的解决
2020/11/13 Javascript
[46:10]2014 DOTA2国际邀请赛中国区预选赛 CnB VS HGT
2014/05/21 DOTA
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
Python中shape计算矩阵的方法示例
2017/04/21 Python
python 生成图形验证码的方法示例
2018/11/11 Python
Pycharm之快速定位到某行快捷键的方法
2019/01/20 Python
pycharm远程开发项目的实现步骤
2019/01/20 Python
Python K最近邻从原理到实现的方法
2019/08/15 Python
python输入错误后删除的方法
2019/10/12 Python
Pandas数据离散化原理及实例解析
2019/11/16 Python
Python3 中作为一等对象的函数解析
2019/12/11 Python
keras中的backend.clip用法
2020/05/22 Python
英国标准协会商店:BSI Shop
2019/02/25 全球购物
四年大学生活的个人自我评价
2013/12/11 职场文书
元旦晚会开场白
2015/05/29 职场文书
2016年质量月活动总结报告
2016/04/05 职场文书
Python-OpenCV教程之图像的位运算详解
2021/06/21 Python
SQLServer之常用函数总结详解
2021/08/30 SQL Server