|
复制代码 代码如下: function match_links($document) { preg_match_all("'<s*as.*?hrefs*=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; }
主要是正则的问题,下面给出个asp.net下的,多测试正则 获取页面的链接正则 复制代码 代码如下: public string GetHref(string HtmlCode) { string MatchVale = ""; string Reg = @"(h|H)(r|R)(e|E)(f|F) *= *('|"")?((w||/|.|:|-|_)+)('|""| *|>)?"; foreach (Match m in Regex.Matches(HtmlCode,Reg)) { MatchVale += (m.Value).ToLower().Replace("href=","").Trim() + "||"; } return MatchVale; }
(编辑:安卓应用网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|