轉換文本為超連接和Email格式的代碼284278過程講解

如果用戶輸入瞭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>

推薦閱讀: