转换文本为超连接和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>