0

我有一些关于foreach. 我提出请求,curl并收到XML如下回复:

<HotelList>
<HotelSummary id=848484>
<hotel>prova</hotel>
<address>via bho</address>
<thumbNailUrl>/hotels/1000000/530000/526200/526198/526198_38_t.jpg</thumbNailUrl>
</HotelSummary>
</HotelList>

我怎样才能改变每一个

<thumbNailUrl>/hotels/1000000/530000/526200/526198/526198_38_t.jpg</thumbNailUrl>

<img src="$$server$$/hotels/1000000/530000/526200/526198/526198_38_t.jpg>

有可能做到这一点foreach吗?

4

3 回答 3

1

你的意思是:

$xmlObj = simplexml_load_string($your_xml_response);
foreach($xmlObj->HotelSummary as $hotel) {
  $imgSrc = "$$server$$" . $hotel->thumbNailUrl;
}
于 2013-05-14T10:47:58.370 回答
0

不,不是foreach单独的循环。
是的,使用foreach循环是开始的好方法。

例如,您可以遍历 SimpleXml 对象。请参阅PHP SimpleXML 手册以了解基础知识。还请务必查看评论,因为它们提供了很多示例。

于 2013-05-14T10:46:22.030 回答
0

有2个选项可以解决它

在foreach中

foreach($xmlarray as $key => $val)
{   
    $fileInfo = pathinfo($val);
    if(in_array($fileInfo['extension'],array("jpg","jpeg","gif","png","tiff"))
    {
        $val = "<img src='".$serverpath.$val."' >";
    }
}

或者

foreach($xmlarray as $key => $val)
{   

    if(in_array( substr(strrchr($val,'.'),1),array("jpg","jpeg","gif","png","tiff"))
    {
        $val = "<img src='".$serverpath.$val."' >";
    }
}
于 2013-05-14T10:54:32.990 回答