本文实例讲述了php自动给网址加上链接的方法。分享给大家供大家参考。具体实现方法如下:
这里自动匹配页面里的网址,包含http,ftp等,自动给网址加上链接
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
function text2links( $str = '' ) {
if ( $str == '' or !preg_match( '/(http|www\.|@)/i' , $str )) { return $str ; }
$lines = explode ( "\n" , $str ); $new_text = '' ;
while (list( $k , $l ) = each( $lines )) {
// replace links:
$l = preg_replace( "/([ \t]|^)www\./i" , "\\1http://www." , $l );
$l = preg_replace( "/([ \t]|^)ftp\./i" , "\\1ftp://ftp." , $l );
$l = preg_replace( "/(http:\/\/[^ )\r\n!]+)/i" ,
"<a href=\"\\1\">\\1</a>" , $l );
$l = preg_replace( "/(https:\/\/[^ )\r\n!]+)/i" ,
"<a href=\"\\1\">\\1</a>" , $l );
$l = preg_replace( "/(ftp:\/\/[^ )\r\n!]+)/i" ,
"<a href=\"\\1\">\\1</a>" , $l );
$l = preg_replace(
"/([-a-z0-9_]+(\.[_a-z0-9-]+)*@([a-z0-9-]+(\.[a-z0-9-]+)+))/i" ,
"<a href=\"mailto:\\1\">\\1</a>" , $l );
$new_text .= $l . "\n" ;
}
return $new_text ;
}
//使用范例:
$text = "Welcome www.zzvips.com :-)" ;
print text2links( $text );
|
希望本文所述对大家的php程序设计有所帮助。