2011-05-21 32 views
0

我有一個應用程序的XML天氣消息。 Feed正在發送.GIF圖片的信息,但我希望它可以查找.PNG。我嘗試了STR_REPLACE,但沒有奏效。PHP Str_replace圖像類型

$icon = $xml->xpath("/xml_api_reply/weather/forecast_conditions/icon"); 

    $iconData = str_replace('.gif','.png',$icon); 

    echo '<img src="'.get_bloginfo('stylesheet_directory').'/images'.$iconData[2]->attributes().'" />'; 

多一點信息:::

的圖像不是由XML飼料提供。只是他們的URL的開始。因此,來自$icon[1]的XML Feed的輸出爲ig/images/weather/mostly_sunny.gif。然後,我在開始處添加了我們的URL,並設置了相同的路徑,但我只需將.gif更改爲.png

ECHO $ icon [1]在第一行後是ig/images/weather/mostly_sunny.gif就是這樣。

+0

呵呵?它是提供Feed /圖像的外部來源嗎? – Fosco 2011-05-21 17:00:16

+0

不是圖像。只是他們的URL的開始。因此,來自$圖標[1]的XML Feed的輸出是ig/images/weather/mostly_sunny.gif。然後我在開頭添加了我們的URL,並設置了相同的路徑,但我只需要將.gif更改爲.png – 2011-05-21 17:02:54

+0

如果在第一行後有'echo $ icon',輸出是什麼?如果您知道/提供了該信息,可能會有所幫助。 – 2011-05-21 17:05:14

回答

0

試試這個:

$iconData = str_replace('.gif','.png',$icon[1]); 
echo '<img src="'.get_bloginfo('stylesheet_directory').'/images/'.$iconData.'" />' 

所以你一定在你身邊的文件夾是這種 'stylesheet_directory' PLUS /圖像加/ IG /圖像/天氣怎麼樣?

我認爲原來的問題是str_replace函數的字符串和你在一個數組傳遞?..

1

你有很多東西會在這裏的,這是一個很難預測會發生什麼事情。

$icon = $xml->xpath("/xml_api_reply/weather/forecast_conditions/icon"); 

此時,$icon是一個數組,可能是空的,SimpleXMLObject對象。

$iconData = str_replace('.gif','.png',$icon); 

str_replace可以接受的陣列作爲第三個參數,它可能,它還在強制轉換爲字符串在$icon的值。這樣做的結果取決於XML的結構,如果icon元素始終爲文本,則應該可以。

echo '<img src="'.get_bloginfo('stylesheet_directory').'/images'.$iconData[2]->attributes().'" />' 

這樣工作嗎?我會認爲,在這一點上,$ iconData將是一個字符串數組,而不是一個SimpleXMLObject對象數組。

如果我是你,我會手動迭代xpath搜索的結果,並顯式地將SimpleXMLObject對象轉換爲字符串,以便當我需要它們表現爲字符串時。

HTH。

+0

這不起任何作用。圖像仍然是一個gif。我在問題中確實說明了這一點 – 2011-05-22 11:28:24