Мне нужно отобразить только изображение из содержимого CDATA.
<item>
<title>... </title>
<link>... </link>
<description>... </description>
<category>... </category>
<pubDate>... </pubDate>
<guid>... </guid>
<content:encoded><![CDATA[<a href="..."><img alt="" src="..."/></a>...]]></content:encoded>
<enclosure url="..." type="image/jpeg" length="171228"></enclosure>
</item>
мой код, который я попробовал, выглядит так, как это хорошо работает для части
<?php
$html = "";
$url = "http://www....";
$xml = simplexml_load_file($url);
for($i = 0; $i < 1; $i++){
//works fine with <description> part
$description = $xml->channel->item[$i]->description;
preg_match("/<img[^>]+\>/i", $description, $matches);
if (isset($matches[0])) {
$html .= $matches[0];
//echo "<br/>show img<br/>";
} else {
$html .= $description;
echo "<br/>there is no img";
}
}
echo $html;
?>
Теперь мне нужен метод для части и показать изображение отдельно.
может кто-нибудь помочь мне исправить это?
возможно, можно использовать URL для отображения изображения.
Задача ещё не решена.
Других решений пока нет …