2010-04-02 153 views
1

我正尝试在我的博客上使用另一个站点上新闻部分的RSS源。在我的博客上使用省略号之类的东西之前,一切似乎都能正常工作。在PHP中使用RSS Feed

的预期结果是:

One more time…less fail 
Although this is no joking matter… 

实际的输出是:

One more time?less fail 
Although this is no joking matter… 

的问题是,?应该是一个...。我正在使用的代码是第一线(博客标题)和第二线(博客内容)相同,代码为:

$a = utf8_decode($a); 
print($a); 

哪里$a从RSS源的字符串。

任何人都可以指出正确的方向,为什么代码将正确工作正文(第二行),而不是标题(第一行)?或者建议一个更好的方法来做到这一点?

谢谢!

更新:feed://chimaera.fortunestreetglobal.com/wordpress/?feed=rss2

编辑如果您想以提供准确的代码检查出RSS提要自己,也可以在发现只是为了澄清,我真的在寻找我应该如何处理RSS,以便无论博客中发布什么内容,它都会在我的其他网站上正确显示。

+1

多余的引号alert:'print(“$ a”)'==='print($ a)'。 :) – deceze 2010-04-02 06:50:18

+0

真棒,谢谢:) – mrduclaw 2010-04-02 06:56:44

回答

4

其实它不是...而是horizontal ellipsis)编码为…在饲料中。 iso-8859-1中没有等效(单个)字符,因此utf8_decode()将其替换为?

编辑:description标记的内容标记为<![CDATA[ ... ]]>。 Libxml选择不解析“实体”

<description><![CDATA[Although this is no joking matter&#8230; 

但是按原样返回。所以你发送&#8230;到客户端/浏览器和那里它已经解决并显示为

+0

是的,你说得对,它应该是一个水平省略号。你的回答对我来说很有意义,但我想更深层次的问题是,我应该如何处理这个问题,以便他们发布在博客上的任何内容都能正确显示在我的网站上? – mrduclaw 2010-04-02 19:50:14

+0

你的回答似乎暗示,如果我根本不做任何'utf_decode()'事情就会像我想要的那样工作(也就是说,浏览器会发送'…'然后正确显示),但是会发生什么而是'多一次'失败'。 – mrduclaw 2010-04-02 19:55:55

+0

该Feed是utf-8编码的。为什么不简单地发送html文档utf-8编码呢? – VolkerK 2010-04-02 19:57:26