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 相关文章推荐
织梦模板标记简介
Mar 11 PHP
php下使用curl模拟用户登陆的代码
Sep 10 PHP
php和js如何通过json互相传递数据相关问题探讨
Feb 26 PHP
Windows中使用计划任务自动执行PHP程序实例
May 09 PHP
ThinkPHP快速入门实例教程之数据分页
Jul 01 PHP
PHP输出两个数字中间有多少个回文数的方法
Mar 23 PHP
php获取本周星期一具体日期的方法
Apr 20 PHP
php实现mysql数据库分表分段备份
Jun 18 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
Oct 12 PHP
php mysql like 实现多关键词搜索的方法
Oct 29 PHP
PHP 中常量的知识整理
Apr 14 PHP
yii2.0框架多模型操作示例【添加/修改/删除】
Apr 13 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将数据导入到Foxmail
2006/10/09 PHP
PHP 年龄计算函数(精确到天)
2012/06/07 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
2016/05/28 PHP
php封装的验证码类分享
2017/02/26 PHP
php无限级分类实现评论及回复功能
2019/02/18 PHP
详解PHP素材图片上传、下载功能
2019/04/12 PHP
使用JQuery和s3captche实现一个水果名字的验证
2009/08/14 Javascript
DOM Scripting中的图片切换[兼容Firefox]
2010/06/12 Javascript
浅析JavaScript中的隐式类型转换
2013/12/05 Javascript
jQuery+ajax实现鼠标单击修改内容的方法
2014/06/27 Javascript
Javascript通过overflow控制列表闭合与展开的方法
2015/05/15 Javascript
jQuery插件datalist实现很好看的input下拉列表
2015/07/14 Javascript
js+CSS实现模拟华丽的select控件下拉菜单效果
2015/09/01 Javascript
[原创]jQuery实现合并/追加数组并去除重复项的方法
2018/04/11 jQuery
微信小程序排坑指南详解
2018/05/23 Javascript
Vue组件化开发之通用型弹出框的实现
2020/02/28 Javascript
将Dataframe数据转化为ndarry数据的方法
2018/06/28 Python
如何在Django中设置定时任务的方法示例
2019/01/18 Python
python绘制地震散点图
2019/06/18 Python
Django缓存系统实现过程解析
2019/08/02 Python
python 模拟贷款卡号生成规则过程解析
2019/08/30 Python
简单了解为什么python函数后有多个括号
2019/12/19 Python
python中可以声明变量类型吗
2020/06/18 Python
html5读取本地文件示例代码
2014/04/22 HTML / CSS
美国汽车交易网站:Edmunds
2016/08/17 全球购物
日本乐天德国站:Rakuten.de
2019/05/16 全球购物
英国奢侈品牌时尚购物平台:Farfetch(支持中文)
2020/02/18 全球购物
.NET程序员的几道面试题
2012/06/01 面试题
WebSphere面试题:在WebSphere里面如何部署一个应用
2015/08/02 面试题
夜大自我鉴定
2013/10/31 职场文书
家长给学校的建议书
2014/05/15 职场文书
初级党校心得体会
2014/09/11 职场文书
学校组织向国旗敬礼活动方案(中小学适用)
2014/09/27 职场文书
2014年女职工工作总结
2014/11/27 职场文书
2015年公路养护工作总结
2015/05/13 职场文书
vue中使用mockjs配置和使用方式
2022/04/06 Vue.js