使用jQuery查找twitter hashtags,并应用链接

我想首先说我不是jQuery的专家,这似乎是一个非标准的问题.

基本上我正在使用wordpress创建一个博客,并将其合并到循环中,它显示来自我的Twitter个人资料的推文.我想知道如何从这些推文中选择主题标签(例如#foo),然后将html链接应用于主题标签,如下所示…

<a class="hashtag" href="http://twitter.com/#search?q=foo">#foo</a>

链接还必须将#标签(减去#)的值放入链接的#search?q =部分.

这是可能的,如果是这样,我将如何做到这一点?

谢谢,
查理瑞恩

编辑:

标签#foo将成为h1的一部分,没有标记区分一个单词,如

<h1>Lorem ipsum dolor sit amet #foo et adipiscing</h1>

所以基本上我需要找到所有以#开头的字符串,并用链接替换它们,如上所示.

解决方法

您可以创建一个正则表达式来查找这些主题标签并用链接替换它们,使用反向引用来获取匹配的标记.
hashtag_regexp = /#([a-zA-Z0-9]+)/g;

function linkHashtags(text) {
    return text.replace(
        hashtag_regexp,'<a class="hashtag" href="http://twitter.com/#search?q=$1">#$1</a>'
    );
} 

$(document).ready(function(){
    $('p').each(function() {
        $(this).html(linkHashtags($(this).html()));
    });
});

编辑:我已将相关代码移动到接受带有主题标签的字符串的函数中,并返回相同的字符串,并将标记替换为链接.它不依赖于jQuery.

$('p').html(linkHashtags($('p').html()));

您只需传递一个元素html值,并将值替换为调用linkHashtags的结果.人们可能会编写一个jQuery插件来使这更容易使用.

Example

那个正则表达式可能需要一些工作,我不确定哪些字符可以在一个标签内使用,但我想你明白了.

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...