【问题标题】:Tweet clickable links on website?推特网站上的可点击链接?
【发布时间】:2012-07-06 22:09:30
【问题描述】:

对,基于这个问题Tweet clickable links with twitteroauth?

我如何真正解析整个字符串并将 t.co 链接部分替换为

<a href=""></a>

部分?

例如,我在推特上发布了这个 -

Hey check out this link www.google.com

目前在我的网站上显示

Hey check out this link http://t.co/generatedlink

那么我如何解析它并把它变成这个

Hey check out this link <a href="http://t.co/generatedlink">http://t.co/generatedlink</a>

在我的网站上会这样显示:

嘿,看看这个链接http://t.co/generatedlink

我如何能够检测到推文文本的某个部分内部有链接?还是我做错了?

【问题讨论】:

  • 给你一个答案,看看有没有帮助。

标签: html twitter


【解决方案1】:

你需要了解Twitter Entities

当您请求推文时,请确保您使用 include_entities=true

例如:

https://api.twitter.com/1/statuses/show.json?id=220197158798897155&include_entities=true

在响应中,您将在其中看到一个名为“entities”的元素,您将看到“urls”。

这将包含所有 URL 及其在推文中的位置(索引)。

"text": "Twitter for Mac is now easier and faster, and you can open multiple windows at once http://t.co/0JG5Mcq",

"entities": {

  "urls": [

    {

      "url": "http://t.co/0JG5Mcq",

      "display_url": "blog.twitter.com/2011/05/twitte…",

      "expanded_url": "http://blog.twitter.com/2011/05/twitter-for-mac-update.html",

      "indices": [

        84,

        103

      ]

    }

  ],

}

【讨论】:

  • 所以如果我这样做,我会在“text”中找到与“url”相同的url,然后将其更改为链接?
  • 是的,你可以做一个简单的正则表达式来寻找“url”并添加一个 href
【解决方案2】:
function urlify(text) {
    var urlRegex = /(https?:\/\/[^\s]+)/g;
    return text.replace(urlRegex, function(url) {
        return '<a href="' + url + '">' + url + '</a>';
    })}

var text = "Hey check out this link http://t.co/generatedlink";
var a = urlify(text);
alert(a);

上述解决方案非常适合您的需求。我也有 Fiddle 链接查看http://jsfiddle.net/UhzCx/

我在这里得到了这个答案Detect URLs in text with JavaScript

【讨论】:

    【解决方案3】:

    如果你会使用javascript,这里有一个例子http://jsfiddle.net/3VF96/13/

    功能

    function generateURL(text){
       var str=text;
        var n=str.indexOf("http");
        var strv=str.substring(0,n);
        var link=str.substring(n,str.length);
        strv=strv+" <a href='"+link+"'>"+link+"</a>";
          $("#Link").append(strv);
    }
    ​
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-07
      • 2022-12-10
      • 2023-03-30
      • 2013-10-20
      • 2012-05-25
      • 1970-01-01
      • 1970-01-01
      • 2018-06-10
      相关资源
      最近更新 更多