是的,基于这个问题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
我如何能够检测到推文文本的某一部分内部有链接?或者我错了吗?
答案 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);
}