我正在尝试在我的博客上显示推特状态,但是我无法获得创建每个状态的时间来显示我想要的方式。以下是它现在的打印方式:
Thu Aug 05 12:36:20 +0000 2010
但是我希望它显示如下:
54 days ago
如何使用PHP preg_replace管理它?
此刻,我正在使用Twitter API来获取状态。使用此方法或RSS提要更好吗?如果有人能帮助我,我将不胜感激。感谢
答案 0 :(得分:1)
我真的建议将其写为“2010年8月5日”(或者您希望它出现)。这样你只需要写一次,而不是每天一次。但是也可以用JS读取它的方式写成GMT时间戳,但是关闭JS的人看不到它。然后,一旦你的页面显示正确的东西,使用JS脚本循环标记并用你想要的友好文本替换日期。例如:
<span class="dateToBeReplaced" title="Thu Aug 05 2010 12:36:20 GMT+0000">Aug 05 2010</span>
JS看起来像这样(使用jQuery):http://jsfiddle.net/JxTLt/4/
JS对日期格式比PHP更挑剔,所以你几乎应该坚持上面的格式。使用strtotime()
来处理格式和时区转换。
答案 1 :(得分:0)
答案 2 :(得分:0)
单独使用preg_replace()
您将无法执行此操作。您需要进行一些时间比较以创建人类可读的时间戳。查看this post。另请注意,Twitter的回复将是GMT。
就API与RSS而言,这完全取决于您。两个响应都必须进行解析。现在可以说API的开销更大,因为Twitter只支持OAuth。虽然有几个PHP库可用。如果您只想显示状态,我会使用RSS。