如果用户输入了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>
|