欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-03 11:45:48
如果用户输入了http://aaa.bbb.ccc下面这个代码将把他的输入转换成http://aaa.bbb.ccc大家看看正则表达式有多厉害,呵呵。<% ...
如果用户输入了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>