PHP Str_replace图像类型

时间:2011-05-21 16:56:05

标签: php str-replace

我有一个应用程序的XML天气预报。 Feed正在发送.GIF图片的信息,但我希望它能找到.PNG。我尝试过一次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 Feed不提供图像。只是它们的URL的开头。因此,$icon[1]的XML Feed的输出为ig/images/weather/mostly_sunny.gif。然后我在开头添加了我们的URL并设置了相同的路径,但我只需要将.gif更改为.png

第一行之后的ECHO $ icon [1]是ig/images/weather/mostly_sunny.gif这就是全部。

2 个答案:

答案 0 :(得分: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。

答案 1 :(得分:0)

试试这个:

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

所以你确定你身边的文件夹是'stylesheet_directory'PLUS / images PLUS / ig / images / weather?

我认为最初的问题是str_replace用于字符串而你传入一个数组?..