ユーザーがテキストエリアに入力してリンクを投稿するたびに、誰かがhttps://stackoverflow.com/?q=and+message+continues+till+endと入力するたびに、stackoverflow.comがここで行うように、すぐにリンクに変更したいと思いますが、誰かがリンク以外のテキストを渡すと、テキストの外観に戻ります...
これが私の試みです。下に投稿する前に、私はjavascriptの学生ではありません。貼り付けを切り取り、他のプログラミングロジックを使用して、それを実現しようとしています。そのため、返信するときはいつでも、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);
}
}
それを修正する方法はありますか?
ありがとう