基本上是通过fopen、fread函数取得那个页面内容,然后用正则表达式来匹配其中链接字符串。
我没做过,在网络上看到过这样的方法。自己搜索吧。

解决方案 »

  1.   

    <?php
    $file = fopen ("http://www.example.com/", "r");
    if (!$file) {
        echo "<p>Unable to open remote file.\n";
        exit;
    }
    while (!feof ($file)) {
        $line = fgets ($file, 1024);
        if (eregi ("<a href="(.*)">(.*)</a>", $line, $out)) {
            print_r($out);
            break;
        }
    }
    fclose($file);
    ?>
      

  2.   

    同意  mikespook(懒猫开始新生活) 的代码。你想做搜索殷勤呀,呵呵
      

  3.   

    to  mikespook(懒猫开始新生活) :
    你的正则表达式有问题吧。要报错。
      

  4.   

    这个问题,不要指望用正则写的再好也没用.网页中的链接,可能是JS生成的.用JS取 document.links 这里面是链接的集合.
      

  5.   

    这个问题,不要指望用正则写的再好也没用.网页中的链接,可能是JS生成的.用JS取 document.links 这里面是链接的集合.
      

  6.   

    那就用  rardge(Rardge) 的方法
      

  7.   

    请教一下,rardge方法怎么用,我不熟悉哈。
      

  8.   

    <?php  function get($url) 
      { //author axgle
    //from club.phpe.net   $data=file_get_contents($url);     preg_match_all('/<a\s+href="?([^>"]+)"?\s*[^>]*>([^>]+)<\/a>/i',$data,$arr);     return array('title'=>$arr[2],'link'=>$arr[1]); 
      }   $url="http://www.126.com"; 
      $d=get($url);   print "<base href=$url target=_blank>"; 
          foreach($d[title] as $i=>$title)   print "<a href={$d[link][$i]}>$title</a><br>"; ?>
      

  9.   

    PHP 又不是浏览器 。 我看还是也就是增则。 JS的连接。 好象搜索引擎都不理的。