帮助用超链接替换文本表单字段中的链接

时间:2011-03-07 17:57:53

标签: javascript regex coldfusion

我对正则表达式没有多少经验,但我认为这是我需要使用的。我在coldfusion中有一个页面,我使用ajax的几个函数提交信息。其中一个表单字段是“comment”。我希望能够在评论字段中找到任何链接,即:http://www.yahoo.com并将其替换为工作链接。谢谢你尽你所能的帮助。功能如下:

<code>
function AddComment(reqid)
{
    var Comment = '';

    if(document.getElementById('Comment').value != "")
    {
        Comment = document.getElementById('Comment').value;     

        request = getRequest();
        if (!request)
         alert("Error initializing XMLHttpRequest!");

        var url = "#webroot#view-requests-action.cfm?id=" + escape(reqid) + '&Comment=' + escape(Comment) + '&section=' + 'addcomm';
    //alert(url) 
    //return;
        request.open("GET", url, false);
        request.send(null);
        window.location="view-requests.cfm?id=#url.id#&panel=0";
    }
    else
    {
    window.location="view-requests.cfm?id=#url.id#&panel=0";
    }
}   
</code>

1 个答案:

答案 0 :(得分:1)

这将通过JavaScript实现。

sampleText = "Hello World! http://www.google.com";
function InsertLinks(message)
{
    var words = message.split(" ");
    for (var i = 0; i < words.length; i++)
    {
        if (words[i].indexOf("http:") >= 0)
        {
            words[i] = '<a href="' + words[i] + '">' + words[i] + "</a>";
        }
    }
    return words.join(" ");
}       

document.getElementById("test").innerHTML = InsertLinks(sampleText);

上面的代码将以字符串形式返回以下内容:

Hello World! <a href="http://www.google.com">http://www.google.com<a>

-edit 这是通过您的函数实现它的方法:

Comment = InsertLinks(document.getElementById('Comment').value);