函数返回不是我所期望的

发布于 2024-12-20 04:22:10 字数 607 浏览 0 评论 0原文

我创建了一个解析文本的函数,我希望它返回一个完整的链接:

@tw 将返回

相反,它返回没有标记的 http://www.twitter.com/tw 。如何附加标签以包含文本 tw,并将标记返回到 html?

  String.prototype.parseUsername = function() {
    return this.replace(/[@]+[A-Za-z0-9-_]+/g, function(u) {
        var username = u.replace("@","")
        var twitter_link = document.createElement("a");
        twitter_link.href = "http://www.twitter.com/"+username
        twitter_link.target = "_blank"

        console.log(twitter_link)
        return twitter_link;

    });
  };

I created a function which parses text and I would like it to return a full link say:

@tw would return <a href="http://www.twitter.com/tw"></a>

rather it returns http://www.twitter.com/tw with no markup. How can I append the tag to include the text tw, and return the markup to the html?

  String.prototype.parseUsername = function() {
    return this.replace(/[@]+[A-Za-z0-9-_]+/g, function(u) {
        var username = u.replace("@","")
        var twitter_link = document.createElement("a");
        twitter_link.href = "http://www.twitter.com/"+username
        twitter_link.target = "_blank"

        console.log(twitter_link)
        return twitter_link;

    });
  };

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

半城柳色半声笛 2024-12-27 04:22:10

这是您要找的吗?

String.prototype.parseUsername = function(userName) {
    userName = this.replace(/[@]+[A-Za-z0-9-_]+/g, userName.replace("@", ""));
    return (function(u) {
        var twitter_link = document.createElement("a");
        twitter_link.href = "http://www.twitter.com/"+u
        twitter_link.target = "_blank"

        console.log(twitter_link)
        return twitter_link;

    })(userName);
  };

Is this what you're looking for?

String.prototype.parseUsername = function(userName) {
    userName = this.replace(/[@]+[A-Za-z0-9-_]+/g, userName.replace("@", ""));
    return (function(u) {
        var twitter_link = document.createElement("a");
        twitter_link.href = "http://www.twitter.com/"+u
        twitter_link.target = "_blank"

        console.log(twitter_link)
        return twitter_link;

    })(userName);
  };
韵柒 2024-12-27 04:22:10

这可能就是您想要的。

String.prototype.parseUsername = function() {
    var links = [];

    this.replace(/@(\w+)/g, function(all, username) {
        var twitter_link = document.createElement("a");
        twitter_link.href = "http://www.twitter.com/" + username;
        twitter_link.target = "_blank"
        links.push(twitter_link);
    });

    return links;
};

jsFiddle

This might be what you are wanting.

String.prototype.parseUsername = function() {
    var links = [];

    this.replace(/@(\w+)/g, function(all, username) {
        var twitter_link = document.createElement("a");
        twitter_link.href = "http://www.twitter.com/" + username;
        twitter_link.target = "_blank"
        links.push(twitter_link);
    });

    return links;
};

jsFiddle.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文