我正在尝试将我的pin Feed合并到我的网站中。我已经有了它的工作,但我需要修改它显示的内容,因为它没有按预期工作。
我需要的是从日期的描述位中提取某一段数据。
这是我用来抓取XML Feed的代码:
<?php
$ch = curl_init("http://pinterest.com/1234/feed.rss");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
$data = curl_exec($ch);
curl_close($ch);
$doc = new SimpleXmlElement($data, LIBXML_NOCDATA);
if(isset($doc->channel))
{
parseRSS($doc);
}
function parseRSS($xml)
{
$cnt = 9;
for($i=0; $i<$cnt; $i++)
{
$url = $xml->channel->item[$i]->link;
$img = $xml->channel->item[$i]->description;
$title = $xml->channel->item[$i]->title;
echo '<p><a href="'.$url.'" title="'.$title.'">'.$img.'</a></p>';
}
}
?>
问题是描述如下所示,我想要的只是src
的值:
<description><p><a href="/pin/1785432765530/"><img src="http://media-cache-ec1.pinterest.com/upload/27099622222548513383_qJV62266Pf_b.jpg"></a></p><p>What it takes to Google’s.</p></description>
有没有办法从说明中获取src="http://media-cache-ec1.pinterest.com/upload/270996666522513383_qJV6666Pf_b.jpg"
并将其存储在$img
或其他变量中?
答案 0 :(得分:2)
html_entity_decode和简单的HTML DOM解析器可以解决您的问题。
(http://stackoverflow.com/questions/138313/how-to-extract-img-src-title-and-alt-from-html-using-php)
答案 1 :(得分:1)
一些RegExp可以帮助您(PHP Manual,Wikipedia)
例如:.*(src=".*[^"]").*
答案 2 :(得分:0)
感谢我使用的所有
$cnt = 9;
for($i=0; $i<$cnt; $i++)
{
$url = $xml->channel->item[$i]->link;
$img = $xml->channel->item[$i]->description;
$title = $xml->channel->item[$i]->title;
$pattern = '/src="([^"]*)"/';
preg_match($pattern, $img, $matches);
$src = $matches[0];
unset($matches);
//echo $src;
echo '<p><a href="'.$url.'" title="'.$title.'"><img '.$src.'</img></a></p>';
}
}
?>
感谢提示