从 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;
    }
}