我有一个简单的问题,我似乎无法弄明白。我将所有以#开头的文本转换为链接。
一切正常,我的问题是,如果以#开头的单词是3个字符或更多(不计算#),我希望它仅转换。
EX。
我希望将它们转换为链接:
#test #cool #stackoverflow
我不希望这些转换为链接:
#ok #no #m
替换要链接的单词的功能如下:
function linkHashtags(text) {
hashtag_regexp = /#([a-zA-Z0-9]+)/g;
return text.replace(hashtag_regexp,
'<a href="/search/$1">#$1</a>');
}
然后我调用这样的函数:
$('.text p').each(function () {
$(this).html(linkHashtags($(this).html()));
});
答案 0 :(得分:3)
使用区间运算符语法
/#([a-zA-Z0-9]{3,})/g;
{3,}
基本上告诉它测试3个或更多字符