2010-08-02 73 views
1

將我的站點從一臺服務器轉移到另一臺服務器時,某些功能的行爲有所不同。可變內容在內容類型上有所不同

問題在於建立我的RSS飼料。我的feed由包含html的數據庫文章組成,爲了在提要中正確顯示它們,我需要將圖片路徑更改爲完整域路徑,而不僅僅是服務器根目錄。爲此我使用簡單的html dom(http://simplehtmldom.sourceforge.net)。

當輸出Content-type:appilication/rss + xml中的變量html時,它將顯示「Object id#1」。我應該在設置content-type之前選擇輸出它,我會得到正確的html。 (在這種情況下,< p> test </p>)

我怎麼不能在content-type rss + xml中輸出變量html?

require_once($_SERVER['DOCUMENT_ROOT'].'/lib/config.php'); 
require_once($_SERVER['DOCUMENT_ROOT'].'/lib/functions/simple_html_dom.php'); 

$html = str_get_html("<p>test</p>"); 

foreach($html->find('img') as $e) { 
    $e->src = $siteconfig['full_domain'].$e->src;  
} 

header("Content-Type: application/rss+xml; charset=UTF-8"); 

$rssfeed = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; 
$rssfeed .= "<rss version=\"2.0\">\n"; 
$rssfeed .= "<channel>\n"; 
$rssfeed .= "<title>Headline</title>\n"; 
$rssfeed .= "<language>da</language>\n"; 
$rssfeed .= "<item>\n\t"; 
$rssfeed .= "<description><![CDATA[".$html."]]></description>\n\t"; 
$rssfeed .= "</item>\n"; 
$rssfeed .= "</channel>\n"; 
$rssfeed .= "</rss>"; 

echo $rssfeed; 

回答

2

試試這個:

$rssfeed .= "<description><![CDATA[".$html->save()."]]></description>\n\t"; 
+0

謝謝。這解決了我的問題! – Kristian 2010-08-02 18:07:14

0

看起來很奇怪。試試這個,用於運動:echo $ rssfeed。「」;

嘗試刪除標題下的所有內容,然後輸出結果如何?