在网站上发布可点击链接?

时间:2012-07-06 13:53:22

标签: html twitter

是的,基于这个问题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

我如何能够检测到推文文本的某一部分内部有链接?或者我错了吗?

3 个答案:

答案 0 :(得分:1)

您需要了解Twitter Entities

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

例如:

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

在回复中,你会看到一个名为“实体”的元素,你会看到“网址”。

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

"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

      ]

    }

  ],

}

答案 1 :(得分:0)

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);

以上解决方案非常适合您的需求。我也有一个小提琴链接看看http://jsfiddle.net/UhzCx/

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

答案 2 :(得分:0)

如果你可以使用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);
}
​