微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用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

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

原文地址:https://www.jb51.cc/jquery/177511.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐