Find twitter hashtags using jQuery, and apply a link

后端 未结 3 1176
面向向阳花
面向向阳花 2020-12-18 03:18

I\'d like to start this off by saying I\'m hardly a pro at jQuery, and this seems like a non-standard question.

Basically I\'m making a blog in wordpress, and incorp

3条回答
  •  谎友^
    谎友^ (楼主)
    2020-12-18 04:15

    You would craft a regular expression to find those hashtags and replace them with a link, using backreferences to get the matching tag.

    hashtag_regexp = /#([a-zA-Z0-9]+)/g;
    
    function linkHashtags(text) {
        return text.replace(
            hashtag_regexp,
            '#$1'
        );
    } 
    
    $(document).ready(function(){
        $('p').each(function() {
            $(this).html(linkHashtags($(this).html()));
        });
    });
    

    Edit: I've moved the relevant code inside a function that accepts a string with hashtags, and returns the same string with the tags replaced by links. It doesn't rely on jQuery that way.

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

    You just pass it an elements html value and replace the value by the result of calling linkHashtags. One could probably write a jQuery plugin to make this easier to use.

    Example

    That regular expression might need some work, I'm not sure which characters are allowed to be used inside a hashtag, but I think you get the idea.

提交回复
热议问题