从 RSS CDATA 获取图像源
Getting Image Source from RSS CDATA
我目前有这个功能可以从 RSS 提要中的 CDATA 抓取图像 src 字段。
function echo_url($string) {
preg_match_all('#\bhttps?://[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/))#', $string, $match);
return $match[0][0];
}
唯一不好的是它获取了出现在 CDATA 中的第一个 URL 而不是图像 src 本身,无论如何我可以访问或 return 只是图像 src 而不是第一个 URL?
这是我得到的 CDATA 示例。
![CDATA[Duration: 357 sec<br>URL: http://www.test.com/videos/999682/test-test-video<br><img src="http://test.com/images/test.jpg"><br><iframe src="http://embeds.test.com/embed/999682" frameborder=0 width=650 height=518 scrolling=no></iframe>]]
我想要的只是'img src'。
任何帮助都会很棒(php 的初学者)
谢谢
如果您只是想return图像源,那么这个函数就可以工作:
/**
* @param string $cdata
* @return string|FALSE
*/
function getImgSrc($cdata)
{
$found = preg_match("/img src=\"([^\"]+)\"/", $cdata, $match);
if ($found)
{
return $match[1];
}
else
{
return FALSE;
}
}
我目前有这个功能可以从 RSS 提要中的 CDATA 抓取图像 src 字段。
function echo_url($string) {
preg_match_all('#\bhttps?://[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/))#', $string, $match);
return $match[0][0];
}
唯一不好的是它获取了出现在 CDATA 中的第一个 URL 而不是图像 src 本身,无论如何我可以访问或 return 只是图像 src 而不是第一个 URL?
这是我得到的 CDATA 示例。
![CDATA[Duration: 357 sec<br>URL: http://www.test.com/videos/999682/test-test-video<br><img src="http://test.com/images/test.jpg"><br><iframe src="http://embeds.test.com/embed/999682" frameborder=0 width=650 height=518 scrolling=no></iframe>]]
我想要的只是'img src'。
任何帮助都会很棒(php 的初学者)
谢谢
如果您只是想return图像源,那么这个函数就可以工作:
/**
* @param string $cdata
* @return string|FALSE
*/
function getImgSrc($cdata)
{
$found = preg_match("/img src=\"([^\"]+)\"/", $cdata, $match);
if ($found)
{
return $match[1];
}
else
{
return FALSE;
}
}