<?php
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
$time_start = microtime_float();
$url="http://www.52sunny.net/story/";
$str=strtolower(file_get_contents($url));
$time_end1 = microtime_float();
$str=preg_replace("//s+/is"," ",$str);
$str=preg_replace("/ +/"," ",$str);
//获取a
preg_match_all("/<a.*?href=/"?/'?(.*?)[/"|/'| |>]/",$str,$arr);
for($i=0;$i<count($arr[1]);$i++){
if(preg_match("/^http:.*/",$arr[1][$i])){
$arr_urls[]=$arr[1][$i];
}elseif(preg_match("/^//.*/",$arr[1][$i])){
$arr_urls[]="http://".$_SERVER['HTTP_HOST'].$arr[1][$i];
}elseif(preg_match("/^/.//.*/",$arr[1][$i])){
$arr_urls[]=$_SERVER['HTTP_HOST'].$_SERVER["SCRIPT_URL"].$arr[1][$i];
}elseif(preg_match("/^/././/.*/",$arr[1][$i])){
$xxx=preg_replace("/((/././/)+)(.*)/","//3",$arr[1][$i]);
preg_match_all("/((/././/)+).*/",$arr[1][$i],$arr_t);
$x=array();
$x=explode("../",$arr_t[1][0]);
$x_num=count($x)-1;//取../的个数,以获取前面的地址
$y=explode("/",$_SERVER["REQUEST_URI"]);
$y_num=count($y)-1;
$t=$y_num-$x_num;
for($i=2;$i<=$t;$i++)
$str_=$y[$i]?"/".$y[$i]:$y[$i];
if($str_)
$arr_urls[]="http://".$_SERVER['HTTP_HOST']."/".$str_.$xxx;
}elseif(preg_match("/.*?:.*/",$arr[1][$i])){
$arr_urls[]=$arr[1][$i];
}else{
$arr_urls[]="http://".$_SERVER['HTTP_HOST']."/".$arr[1][$i];
}
}
//print_r($arr_urls);
$time_end = microtime_float();
$time = $time_end - $time_start;
$time1 = $time_end1 - $time_start;
$x_time = $time - $time1;
echo "Did nothing in $time seconds/r/n";
echo "下载 in $time1 seconds/r/n";
echo "计算 in $x_time seconds/r/n";
?>