转换文本为超连接和Email格式的代码解决

如果用户输入了http://aaa.bbb.ccc下面这个代码将把他的输入转换成http://aaa.bbb.ccc大家看看正则表达式有多厉害,呵呵。

<%‘调用这个函数来显示成超联结Response.Write to_html(s_message)%>

<%Function to_html(s_string); to_html = Replace(s_string, “”””, “””)to_html = Replace(to_html, “<“, “<“)to_html = Replace(to_html, “>”, “>”)to_html = Replace(to_html, vbcrlf, “<br>”)to_html = Replace(to_html, “/<“, “<“)to_html = Replace(to_html, “/>”, “>”)to_html = edit_hrefs(to_html)End Function%>

<script language=”Javascript1.2″ runat=server>function edit_hrefs(s_html){// 一个使用正则表达式的典范// 转换文本中所有的超联结和电子邮件格式s_str = new String(s_html);

s_str = s_str.replace(/bhttp://www(.[w+.:/_]+)/gi,“http://¬¸$1”);

s_str = s_str.replace(/b(http://w+.[w+.:/_]+)/gi, “<a href=”$1″>$1</a>”);

s_str = s_str.replace(/b(www.[w+.:/_]+)/gi,“<a href=”http://$1″>$1</a>”);

s_str = s_str.replace(/bhttp://¬¸(.[w+.:/_]+)/gi,“<a href=”http://www$1″>http://www$1</a>”);

s_str = s_str.replace(/b(w+@[w+.?]*)/gi,“<a href=”mailto:$1″>$1</a>”);

return s_str;}</script>

转换文本为超连接和Email格式的代码解决