RSSで記事一覧を取得する際に画像を一緒に取得して欲しいという要望があったのでこんな形で取ってみました。
$rssurl = "http://xxxxxx.xml"; $xml_data = file_get_contents($rssurl); $rssdata = XML_unserialize($xml_data); foreach ($rssdata['rss']['channel']['item'] as $val){ // リンクのURLを見に行って最初に現れる画像のsrc取得 $url = $val['link']; $src = getChildRss($url); if (!empty($src)){ $img = ""; echo $img; } } } // リンクのRSSを見に行って最初に現れる画像のsrc取得 function getChildRss($url){ $xml_data = file_get_contents($url); $rssdata = XML_unserialize($xml_data); if (!empty($rssdata['rss']['channel']['item'])){ foreach ($rssdata['rss']['channel']['item'] as $val){ // 最初に現れるimgタグ取得 preg_match_all("//", $val['content:encoded'], $img); if (count($img[0]) !== 0) { // imgタグ内のsrc取得 preg_match_all('/src="(.+?)"/', $img[0][0], $src); if (count($src[0]) !== 0) { return $src[1][0]; } } } } return ""; }