为逗号分隔的单词生成搜索链接

Generate search links for comma separated words

本文关键字:搜索 链接 单词生 分隔      更新时间:2023-09-26

一如既往,您的帮助非常有价值<3

我的网站上有一些列表,其中包含描述中的元数据关键字。我想让这些看起来像标签(我们的cms不支持标签,因此这次黑客攻击)。它只打印用逗号分隔的单词,就像这样:

<div class="tags">abp, accredited building practitioners, calendar of events, upcoming events</div>

javascript是否能够在这些div中找到任何单词,并将其替换为链接到oursite.com/search的href?query=THEWORD?如果是,有人有可以分享的脚本吗?

这里有一个用一点jQuery构建的工作函数,尽管可以很容易地转换为基本的JavaScript:

jQuery:

<script>
    $(function(){
        $('.tags').each(function(){
            var obj=$(this),tags=obj.text().split(','),i=0,len=tags.length;
            if(obj.text()) {
                for(i;i<len;i++) {
                    var tag=tags[i].replace(/(^'s*)|('s*$)/g,'');
                    tags[i]='<a href="http://oursite.com/search?query='+encodeURIComponent(tag)+'">'+tag+'</a>';
                }
                obj.html(tags.join(', '));
            }
        });
    });
</script>

HTML:

<div class="tags">abp, accredited building practitioners, calendar of events, upcoming events</div>
<div class="tags">test, another test, some more testing, etc</div>
<div class="tags">the, code, needed, to, be , in, an, each(), loop</div>
<div class="tags"></div>
<div class="tags">random, words, that, show, work, hopefully</div>
<div class="tags">the, return, false, was, causing, problems</div>
<div class="tags"></div>

**看看这个。如果你看到的警报消息是你想要的,那么你只需要把它附加到div中。http://jsfiddle.net/UH5U9/3/

编辑

$('.tags').each(function(){
var s = $(this).html()
a = s.split(',');      
var temp='';      
for (var i = 0; i < a.length; i++)
{
    temp =temp + '<a href="oursite.com/search?query='+a[i]+'">'+a[i]+'</a>';
 }
$(this).html('');
$(this).html(temp);
});