匹配网址 URL 的正则表达式:
代码如下
(((f|ht){1}tp://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)
示例:PHP 正则表达式自动匹配字符串是否为 url 地址,是的话自动加上链接。
代码如下
\1
', $rurl); // rel=nofollow 是告诉搜索引擎不要去抓取这个链接
if( strpos($rurl "http") === FALSE ){
$rurl = eregi_replace('(www.[-a-zA-Z0-9@:%_\+.~#?&//=]+
)', '\1', $rurl);
}else{
$rurl = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@
:%_\+.~#?&//=]+)', '\1
low>\2', $rurl);
}
return $rurl;
}
?>
调用 autolink() 函数
代码如下
例子1 获得https开头的例子
代码如下
//https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?
//PHP Example: Automatically link URL's inside text.
$text = preg_replace('@(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?)@', '$1', $text);
例子2 直接提取页面中代码如下
function match_links($document) {
preg_match_all("']+))[^>]*>?(.*?)'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;
}
好了到此关于正则获得url地址也就介绍完了,上面的几个例子各有所长了,大家可以根据自己的需求来选择更合适自己的匹配验证提取网址URL正则。