从描述中提取src =“xyz”的XML数据

问题描述:

我正在尝试将我的pin feed添加到我的网站中。我有它的工作,但我需要修改它显示,因为它不是按预期工作。从描述中提取src =“xyz”的XML数据

我需要的是从日期的描述位中提取某段数据。

这是我用抢我的XML源代码:

<?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>&lt;p&gt;&lt;a href="/pin/1785432765530/"&gt;&lt;img src="http://media-cache-ec1.pinterest.com/upload/27099622222548513383_qJV62266Pf_b.jpg"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;What it takes to Google’s.&lt;/p&gt;</description> 

是有一种方法可以从描述中获得src="http://media-cache-ec1.pinterest.com/upload/270996666522513383_qJV6666Pf_b.jpg"并将其存储在$img或其他变量中?

html_entity_decode和简单的HTML DOM解析器可以解决您的问题。

(http://*.com/questions/138313/how-to-extract-img-src-title-and-alt-from-html-using-php)

一些正则表达式会帮助你(PHP ManualWikipedia

例如:.*(src=".*[^"]").*

+0

哦,对不起 - 我没有正确阅读它:) – m93a

感谢所有我曾经

$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>'; 
    } 
} 
?> 

感谢提示