2

我在 HTML 页面上显示推文,并且会收到推文阅读:

“Lorem ipsum dolor @username conspecetur。” 或“真的很喜欢@example 的节目”</p>

如何在此字符串中搜索所有 Twitter 句柄,并使它们成为链接到该用户的 Twitter 帐户的主标记?

也会对#hashtags 的类似内容感兴趣。

推文的 HTML 如下所示 我要转换为锚标记的 @usernames 位于<span class="tweet">

<div id="realtime_rollover_tweet_text">
    <a href="http://twitter.com/IsabelleOC/statuses/309314847345106945" class="twitter-handle" target="_blank">Isabelle O'Carroll</a>
    <span class="tweet">Forget ruffles and ridiculousness  check my kickass cycle outfit feat @NikeUK, @Sophie_Hulme, Ashish and @Topshop</span>
    <span class="category">bloggers</span>
</div>
4

1 回答 1

3

解决方案非常简单。只需使用 .each 迭代并将字符串替换为所需的 URL

更新的答案

工作演示:http: //jsfiddle.net/cmzqv/1/

解决方案:使用正则表达式

   function(i,html) {
    return html.replace(/(@\w+)/g, '<span class="twitterHandle">$&</span>');
});

工作演示:http: //jsfiddle.net/cmzqv/

代码 :

$(document).ready(function(){
    $('.twitter').each(function() {
            var handle = $(this).text().slice(1);
        var handleUrl = "<span class='twitter'><a href='https://www.twitter.com/"+handle+"'>"+$(this).text()+"</a></span>";
               $(this).replaceWith(handleUrl); 
    });
});
于 2013-09-09T15:47:29.347 回答