发新话题
打印

PHP完美的提取链接正则

PHP完美的提取链接正则

复制内容到剪贴板
代码:
function match_links($document) {   
    preg_match_all("'<\s*a\s.*?href\s*=\s*([\"\'])?(?(1)(.*?)\\1|([^\s\>]+))[^>]*>?(.*?)</a>'isx",$document,$links);                        
    while(list($key,$val) = each($links[2])) {
        if(!empty($val))
            $match['link'][] = $val;
    }
    while(list($key,$val) = each($links[3])) {
        if(!empty($val))
            $match['link'][] = $val;
    }        
    while(list($key,$val) = each($links[4])) {
        if(!empty($val))
            $match['content'][] = $val;
    }
    while(list($key,$val) = each($links[0])) {
        if(!empty($val))
            $match['all'][] = $val;
    }               
    return $match;
}

TOP

发新话题