您的位置:程序门 -> web 开发 -> php



谁能帮忙写一个正则表达式


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


谁能帮忙写一个正则表达式
发表于:2007-06-25 14:22:18 楼主
url替换为超连接

比如:
呵呵http://www.sina.com.cn西西哈哈    
替换之后是:
呵呵 <a   href= "http://www.sina.com.cn "> http://www.sina.com.cn </a> 西西哈哈

在比如:
中国最大的技术论坛:www.csdn.net,你可以学到很多东西
替换之后是:
中国最大的技术论坛: <a   href= "www.csdn.net "> www.csdn.net </a> ,你可以学到很多东西

总之,是url都要替换为超连接.高手帮忙写一下.谢谢
发表于:2007-06-25 15:57:271楼 得分:0
<?  

function   enable_url($str)
{  
$str   =   ereg_replace( "([url]www.[a-za-z0-9@:%_.~#-\?&]+[/url]) ",   "   <a   href=\ "linkhttp://\\1\ "   target=\ "_blank\ "> \\1 </a> ",   $str);   //   自动转化www开头的链接  
$str   =   ereg_replace( "(((f ¦ht){1}tp://)[a-za-z0-9@:%_.~#-\?&]+) ",   " <a   href=\ "\\1\ "   target=\ "_blank\ "> \\1 </a> ",   $str);   //转化[url]http://开头和ftp://开头的链接[/url]  
$str   =   str_replace( 'linkhttp:// ', 'http:// ',$str);  
$str   =   ereg_replace( "([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}) ", " <a   href=\ "mailto:\\1\ "> \\1 </a> ",   $str);   //   转化邮件地址  
return   $str;  
}  
//for   example
echo   enable_url( "呵呵http://www.sina.com.cn西西哈哈 ");

?>
发表于:2007-06-25 15:58:412楼 得分:0
改一下

<?  

function   enable_url($str)
{  
$str   =   ereg_replace( "(www.[a-za-z0-9@:%_.~#-\?&]+) ",   "   <a   href=\ "linkhttp://\\1\ "   target=\ "_blank\ "> \\1 </a> ",   $str);   //   自动转化www开头的链接  
$str   =   ereg_replace( "(((f ¦ht){1}tp://)[a-za-z0-9@:%_.~#-\?&]+) ",   " <a   href=\ "\\1\ "   target=\ "_blank\ "> \\1 </a> ",   $str);   //转化[url]http://开头和ftp://开头的链接[/url]  
$str   =   str_replace( 'linkhttp:// ', 'http:// ',$str);  
$str   =   ereg_replace( "([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}) ", " <a   href=\ "mailto:\\1\ "> \\1 </a> ",   $str);   //   转化邮件地址  
return   $str;  
}  
//for   example
echo   enable_url( "呵呵www.sina.com.cn西西哈哈 ");

?>
发表于:2007-06-25 16:01:393楼 得分:0
欢迎加入php爱好者qq群:30169840
发表于:2007-06-27 16:09:574楼 得分:0
估计是没法实现了,如http://www.sina.com/a=中文,adfasdfhttp://www.sina.com/a=中文.adfasdf条件不定,没法实现


快速检索

最新资讯
热门点击