Учитывая данные XML в переменной $ xml, вы можете проанализировать их и вывести тег <img>
, используя XMLDOM функции:
$doc = new DOMDocument();
$doc->loadXML($xml);
$nodes = $doc->getElementsByTagName("url");
if ($nodes->length>0)
{
$node=$nodes->item(0);
$url=htmlentities($node->nodeValue);
echo "<img src=\"$url\">";
}
Вы также можете использовать XPath
$doc = new DOMDocument();
$doc->loadXML($xml);
$xpath = new DOMXPath($doc);
$nodes = $xpath->evaluate('Chart/response/url');
if ($nodes->length>0)
{
$node=$nodes->item(0);
$url=htmlentities($node->nodeValue);
echo "<img src=\"$url\">";
}
Существует также simplexml тоже
$doc = simplexml_load_string($xml);
$url = htmlentities($doc->response->url);
echo "<img src=\"$url\">";
Обратите внимание, что отправленный вами XML является недопустимым - символы &
в URL должны быть &
, чтобы любой из этих методов XMLDOM работал правильно. Но это как минимум иллюстрирует, как правильно работать с XML
Итак, более простой подход состоит в том, чтобы просто вырвать URL с помощью регулярного выражения
if (preg_match('{<url>(.*?)</url>}', $xml, $matches))
{
$url=htmlentities($matches[1]);
echo "<img src=\"$url\">";
}