这是我运行代码时得到的输出:
[19:01:06] User: <a href="http://www.google.com" target="_blank" >http://www.google.com </a>
它不会创建仅显示 a href 标记的链接。
这就是链接的原因:
function linkify(inputText) {
var replacedText, replacePattern1, replacePattern2, replacePattern3;
//URLs starting with http://, https://, or ftp://
replacePattern1 = /(\b(https?|ftp):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gim;
replacedText = inputText.replace(replacePattern1, '<a href="$1" target="_blank">$1</a>');
//URLs starting with "www." (without // before it, or it'd re-link the ones done above).
replacePattern2 = /(^|[^\/])(www\.[\S]+(\b|$))/gim;
replacedText = replacedText.replace(replacePattern2, '$1<a href="http://$2" target="_blank">$2</a>');
return replacedText;
}
因此,在教程聊天框中,我将文本发送到了 firebase 列表,例如:
text=linkify(text);
myDataRef.push({timestamp: timestamp, name: name, text: text, emote: emote});
这是显示部分的样子:
function displayChatMessage(timestamp, name, text, emote) {
$('<div/>').text('['+timestamp+'] ').append($('<name/>').text(name+': ')).append($('<em/>').text(text)).appendTo($('#messagesDiv'));
}
$('#messagesDiv')[0].scrollTop = $('#messagesDiv')[0].scrollHeight;
};
我曾尝试插入其他 html 标签,但这也不起作用。整个代码只是基于教程聊天并从那里开始工作。