1、
eregi("href=\"(.*)\"",$url,$abc);
echo $abc[1];
改为
preg_match_all("/href=\"(.*)\"/",$url,$abc);
foreach($abc[1] as $v)
echo "$v<br>";2、由于
while(preg_match($patt,$song,$reg)){
echo $reg[3];
}
中$patt始终都被匹配到,所以就成了死循环
eregi("href=\"(.*)\"",$url,$abc);
echo $abc[1];
改为
preg_match_all("/href=\"(.*)\"/",$url,$abc);
foreach($abc[1] as $v)
echo "$v<br>";2、由于
while(preg_match($patt,$song,$reg)){
echo $reg[3];
}
中$patt始终都被匹配到,所以就成了死循环
第二个问题还是不太明白呀。
我看他们也都是这样子的格式的。
看这个,就不会死了。
<?
$f=file('http://www.sohu.com/index.html');
$str="";
while(list($line_num,$line)=each($f))
{
$str.=$line;
}
$count=0;
$ptn="@(.*?)<a\s([^>]*?)href=([\'\"\s]?)([^>\'\"\s]+)([\'\"\s]?)([^>]*?)>(.+?)</a>(.*)@is";
while(preg_match($ptn,$str,$reg))
{
echo "-----------------------------------------------------------------------------------";
$count++;
echo "〖".$reg[4]."〗<br/>";
echo $count."【".$reg[7]."】<br/>";
$str=$reg[1].$reg[8];
}
?>
while(preg_match($ptn,$str,$reg))
{
echo "-----------------------------------------------------------------------------------";
$count++;
echo "〖".$reg[4]."〗<br/>";
echo $count."【".$reg[7]."】<br/>";
$str=$reg[1].$reg[8]; //这里改变了初值
}