• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

php解析字符串里的所有URL地址

JavaScript 水墨上仙 2905次浏览

php解析字符串里的所有URL地址

<?php 
// $html        = the html on the page 
// $current_url = the full url that the html came from (only needed for $repath) 
// $repath      = converts ../ and / and // urls to full valid urls 
function pageLinks($html, $current_url = "", $repath = false){ 
    preg_match_all("/\<a.+?href=(\"|')(?!javascript:|#)(.+?)(\"|')/i", $html, $matches); 
    $links = array(); 
    if(isset($matches[2])){ 
        $links = $matches[2]; 
    } 
    if($repath && count($links) > 0 && strlen($current_url) > 0){ 
        $pathi      = pathinfo($current_url); 
        $dir        = $pathi["dirname"]; 
        $base       = parse_url($current_url); 
        $split_path = explode("/", $dir); 
        $url        = ""; 
        foreach($links as $k => $link){ 
            if(preg_match("/^\.\./", $link)){ 
                $total = substr_count($link, "../"); 
                for($i = 0; $i < $total; $i++){ 
                    array_pop($split_path); 
                } 
                $url = implode("/", $split_path) . "/" . str_replace("../", "", $link); 
            }elseif(preg_match("/^\/\//", $link)){ 
                $url = $base["scheme"] . ":" . $link; 
            }elseif(preg_match("/^\/|^.\//", $link)){ 
                $url = $base["scheme"] . "://" . $base["host"] . $link; 
            }elseif(preg_match("/^[a-zA-Z0-9]/", $link)){ 
                if(preg_match("/^http/", $link)){ 
                    $url = $link; 
                }else{ 
                    $url       = $dir . "/" . $link; 
                } 
            } 
            $links[$k] = $url; 
        } 
    } 
    return $links; 
} 
header("content-type: text/plain"); 
$url = "http://phpsnips.com"; 
$html = file_get_contents($url); 
// Gets links from the page: 
print_r(pageLinks($html)); 
// Gets links from the page and formats them to a full valid url: 
print_r(pageLinks($html, $url, true));


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明php解析字符串里的所有URL地址
喜欢 (0)
加载中……