每当用户输入 textarea 并在其中发布一些链接时,我立即想将其更改为像 stackoverflow.com 一样的链接,只要有人输入https://stackoverflow.com/?q=and+message+continues+till+end但是每当有人传递任何非链接文本时,它都会回到文本外观......
这是我的尝试,我所做的,在我把它贴在下面之前,让我告诉你我不是 javascript 学生,我只是想剪切粘贴并使用我的其他编程逻辑并尝试实现它。因此,每当您回复时,请考虑我的 no-solid-javascript 背景。
谢谢
我的尝试如下:-
function isUrl(s) {
var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
return regexp.test(s);
}
$('#status').keyup(function() {
var value = $("#status").val();
var words = value.split(" ");
for (var i=0;i<words.length;i++)
{
var n = isUrl(words[i]);
if (n) {
var deadLink = '<a href="'+words[i]+'" target="_blank" rel="nofollow">'+words[i]+'</a>';
words[i].replace(words[i], deadLink);
}
}
});
这不起作用,我在这里没有收到任何错误,但是当我在没有数组索引的情况下使用它时,如下所示,我收到数组错误:-
for (var i=0;i<words.length;i++)
{
var n = isUrl(words);
if (n) {
var deadLink = '<a href="http://google.com/search?q='+words+'" target="_blank" rel="nofollow">'+words+'</a>';
words.replace(words, deadLink);
}
}
有什么办法解决吗?
谢谢