通用HTML标准超链接参数取得正则表达式测试
因为最近要做一个类似专业
搜索引擎的东西
,需要抓取网页的所有超链接
。 大家帮忙测试一下子
,下面的代码是否可以针对所有的标准超链接
。 测试代码如下:
<?php
//--------------------------------------------------------------------------
//Filename:Noname1.php
//Description:通用链接参数获取正则表达式测试
//Requirement:
PHP4(
http://www.php.net)
//Copyright(C),HonestQiao,2005,AllRightsReserved.
//Author:HonestQiao(
honestqiao@hotmail.com)
//参数说明:
//$strSource:包含标准链接的HTML网页
//$strResult:处理的结果
//附加说明:
//标准链接,使用<a></a>形势包含的链接
//--------------------------------------------------------------------------
$strSource=<<<HTML
<ahref=1.htm>t1</a>
<ahref='2.htm'>t2</a>
<ahref="3.htm">t3</a>
<ahref=4.htmclass=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("%dhref=(%s)title=(%s)
",$i,$strResult[1][$i],$strResult[2][$i]);
}
?>