我正在使用jQuery和正则表达式来搜索文本字符串中的http或https,并将字符串转换为URL。如果字符串以引号开头,我需要让代码跳过该字符串。
以下是我的代码:
这是我的问题示例:
文本
任何帮助都将不胜感激。
以下是我的代码:
// Get the content
var str = jQuery(this).html();
// Set the regex string
var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
var replaced_text = str.replace(exp, function(url) {
clean_url = url.replace(/https?:\/\//gi,'');
return '<a href="' + url + '">' + clean_url + '</a>';
})
jQuery(this).html(replaced_text);
这是我的问题示例:
文本
计算机科学与信息学院。她在 http://www.wordpress.com 上博客,并且可以在 Twitter <a href="https://twitter.com/abcdef">@Abcdef</a> 找到。
当前的代码成功地找到以 http 或 https 开头的文本,并将其转换为 URL,但它也会转换 Twitter 的链接。如果文本以引号开头或位于 a 标签中等,则需要忽略该文本...任何帮助都将不胜感激。