我正在尝试编写一个函数,从文本区域中的正常链接创建a标签,从图像链接创建img标签。第一次对两者都起作用,但如果我粘贴一个"a href"标签,则会重复链接。由于imageRegex的检查,它不会处理图像。有没有什么办法让它工作?
请注意,文本区域可能具有多个这两种类型的URL。
请注意,文本区域可能具有多个这两种类型的URL。
$("#message").blur(function() {
var imageRegex = /\.(png|jpg|jpeg|gif)$/;
var s = $(this).val().replace(/(?:^|[^"'])(\b(?:https?|ftp):\/\/[a-z0-9-+&@#\/%?=~_|!:,.;]*[a-z0-9-+&@#\/%=~_|])/gim, function(str) {
if (str.match(imageRegex)) {
return('<img src="' + str + '" />');
} else {
return('<a href="' + str + '">' + str + '</a>');
}
});
$(this).val(s);
});