2011-03-02 72 views
1

我使用一个非常简单的PHP包含抓取my current twitter status并输出内容到my website。但麻烦的是,当状态中存在URL时,输出不会生成类似实际状态的链接。如何从我的PHP twitter feed输出中创建链接?

实现此目的的最佳或最简单的方法是什么?

下面是我使用的填充状态PHP:

<?php 
$response = new SimpleXMLElement('http://twitter.com/users/show/jglovier.xml',NULL,TRUE); 
echo $response->status->text.''; 
?> 

*编辑:因为我只是一个前端开发人员最熟悉的HTML,CSS和JS勉强,我寻找这里最简单的修复,最好是基于JS的。

回答

4

尝试使用bcherry/twitter-text-js。它会自动链接到twitter.com使用的规范的URL,@mentions和#hashtags。

将twitter-text.js放到您的服务器上,加载jQuery后加载它,然后在准备好的文档上运行下面的代码片段。

$('p.status').each(function(index, element) { 
    $(element).html(twttr.txt.autoLink($(element).text())); 
}); 
+0

这个有一些麻烦。我是一个jQ新手。我用JS语法很糟糕...... – 2011-03-05 16:52:50

+0

明白了!完美的作品。谢谢!!! – 2011-03-05 17:02:11

1

它实际上是一个代码非常简单几行字:

 
function twitterify($ret) { 
    $ret = preg_replace("#(^|[\n ])([\w]+?://[\w]+[^ \"\n\r\t\\2", $ret); 
    $ret = preg_replace("#(^|[\n ])((www|ftp)\.[^ \"\t\n\r\\2", $ret); 
    $ret = preg_replace("/@(\w+)/", "@\\1", $ret); 
    $ret = preg_replace("/#(\w+)/", "#\\1", $ret); 
    return $ret; 
} 

来源:http://www.snipe.net/2009/09/php-twitter-clickable-links

+0

看起来不错,但JS解决方案对我来说更容易。除了准系统基础知识之外,我对PHP语法不太熟悉。不过谢谢。也许这会派上用场,当我在PHP的道路上变得更好! – 2011-03-05 17:03:05

0

我相信你已经解决了这个,因为它已经有一段时间,因为它被张贴,但对于用户想要做类似的事情,我发现这是非常有用的:http://remysharp.com/2007/05/18/add-twitter-to-your-blog-step-by-step/

带来的tweets(尽可能多或少数),但最好的是,你写出了推文如何显示的模板 - 例如时间/推文/海报或海报/推文/时间等。

非常酷!

+0

尽管您已链接的脚本解决了将twitter链接到页面上的问题,但它根本不处理我的问题中的问题,即如何解析由PHP生成的纯文本Twitter提要并添加链接以纯文本版本。 – 2012-05-31 20:07:10

+0

看看例子。它分析http链接以及@username链接。您可以定义输出的内容,因此您有很多选项可供使用。 – GT22 2012-06-01 09:01:35