问题描述
|
我正在尝试获取提要的每个帖子的第一张图片。图像始终在每个ѭ0内存在,如下所示
<description><p><a href=\"http://lh5.ggpht.com/-kDNySEwupXc/Tesp_XbEXQI/AAAAAAAAKZY/t5TMtq7SkCs/s1600-h/image%25255B4%25255D.png\">< ....></description>
我得到如下标题,作者和其他内容
foreach ($entries as $entry) {
echo \"<pre>\"; echo $entry->title; echo\" -- \"; echo $entry->author; echo\" -- \"; echo $entry->pubDate; echo\"<br>\"; echo \"</pre>\";
}
但是我不知道图像是否是描述中的属性。如果是这样,我该怎么显示?我想这个解决方案比使用像这样的正则表达式来获取第一张图片要容易和快捷得多:
preg_match(\'!http://.+\\.(?:jpe?g|png|gif)!Ui\'
如果正则表达式是唯一的解决方案,我该如何使用它?
谢谢
解决方法
您可以执行使用DOM解析器的始终可靠的方法。
$dom = new DOMDocument;
$dom->loadXML(html_entity_decode($entry->description));
$imageSrc = $dom->getElementsByTagName(\'a\')->item(0)->getAttribute(\'href\');
键盘。
您可能需要扩展代码以处理缺少的a
元素(检查lengtg
属性)或缺少的href
属性(使用hasAttribute()
方法)。