我需要在将Twitter状态输出到网页之前格式化它吗?

时间:2011-07-12 07:50:30

标签: php jquery twitter

所以,我正在研究其他网页是如何整理出来的,我发现http://www.phppennyauctiondemo.com/(在拍卖会上,有推特更新部分)。

在将其输出到网页之前,他们按照以下方式格式化他们的推特状态:

<script type="text/javascript" src="http://twitter.com/javascripts/blogger.js">
...
var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
  return '<a href="'+url+'">'+url+'</a>';
}).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
  return  reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
});
...
</script>

我的问题是:为什么?这是做什么的?

另外,我应该这样做吗?到现在为止,我只使用了twitters [i] .text。没有任何格式化。

2 个答案:

答案 0 :(得分:5)

replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
  return '<a href="'+url+'">'+url+'</a>';
})

这使得推文中的网址可以通过addind点击它们周围的<a>标记。

replace(/\B@([_a-z0-9]+)/ig, function(reply) {
  return  reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
})

这可以通过在其周围添加<a>标记来点​​击@names,这样人们就可以回复推文。

您可以跳过该格式,但向用户显示不可点击的网址并不是一个好的可用性练习。点击推文作者姓名的能力也非常方便。

答案 1 :(得分:2)

我不确定您使用的是api,但对tweetsharp C#而言TextAsHtml有{{1}}的选项可以完全按照锡,并将删除使用繁琐的正则表达式的需要。如果您的api中没有类似的内容,我会感到惊讶。