一聚教程网:一个值得你收藏的教程网站

热门教程

PHP正则表达式匹配验证提取网址URL实例总结

时间:2022-06-25 02:39:27 编辑:袖梨 来源:一聚教程网

 匹配网址 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.111com.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("']+))[^>]*>?(.*?)'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正则。

 

热门栏目