匹配网址 URL 的正则表达式:
代码如下(((f|ht){1}tp://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)
示例:PHP 正则表达式自动匹配字符串是否为 url 地址,是的话自动加上链接。
代码如下
function autolink($rurl){
$rurl = eregi_replace("(((f|ht){1}tp://)[-a-zA-Z0-9@:%_
\+.~#?&//=]+)", "\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() 函数
代码如下
$str = "http://www.111cn.net";
echo autolink($str);
?>
例子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(""<\s*a\s.*?href\s*=\s*([\"\"])?(?(1)(.*?)\\1|([^\s\>]+))[^>]*>?(.*?)"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正则。
[php正则表达式匹配验证码]PHP正则表达式匹配验证提取网址URL实例总结
http://m.bbyears.com/jiaocheng/71768.html
推荐访问:php邮箱正则表达式