最近在搞采集方面的程序,由于刚接触采集,需要学习的地方还很多,现在急需要一个可以被全网址的函数,就是把相对路径转换为绝对路径的函数,希望有的朋友放出来,学习一下,谢谢

解决方案 »

  1.   

    建议参考一下一些cms系统的代码。
      

  2.   


    什么相对路径转换为绝对路径?直接在/test/test.gif前面加上他的网址就是你要采集的地址了啊,还需要什么函数呢?你可以加我们的群,大家可以讨论:44911195
      

  3.   

    以前写 的一函数
    function callback_url($matches)
    {
    //print_r($matches);
    $addr = trim($matches[6]); 
    $tag = strtolower(trim($matches[1])); if(strstr($addr,"http://") === false)
    {
    if((strstr(basename($_REQUEST['url']),".") !== false) && (strlen(dirname($_REQUEST['url'])) > 7)  )         
    {

    $url = dirname($_REQUEST['url']); 

    }
    else 
    {
    $url = $_REQUEST['url'];

    }



    $addr = process_url($addr,$url);
    }
    if($tag == "a")
    return "<a href='".$addr."' target='columnmain'>";  
    else if($tag == "link")
    return "<link href='".$addr."' rel='stylesheet' type='text/css'>";   
    else if($tag == "img")
    return "<img src='".$addr."' ".$matches[2]."  ".$matches[7]." />";  
    }
    function process_url($url,$add)
    {
    $add = trim(strtolower($add)); if(substr($url,0,1) == "/")
    {
    $url = substr($url,1); 
    $pos = strpos($add,"/",8); 
    $add = substr($add,0,$pos);  

    }
    else 
    {
    if(substr($url,0,2) == "./")
    {
    $url = substr($url,2); 
    }
    while(strstr($url,"../"))
    {
    $url = substr($url,3);
    $add = dirname($add);
    }
    }
    if(substr($add,-1,1) == "/")
    $add = substr($add,0,-1);  return $add ."/".$url;
    }