<? 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); //转化http://开头和ftp://开头的链接 
$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西西哈哈");?>

解决方案 »

  1.   

    改一下<? 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); //转化http://开头和ftp://开头的链接 
    $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西西哈哈");?>
      

  2.   

    欢迎加入PHP爱好者QQ群:30169840
      

  3.   

    估计是没法实现了,如http://www.sina.com/a=中文,adfasdfhttp://www.sina.com/a=中文.adfasdf条件不定,没法实现