2010-04-02 71 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