我需要從帖子中提取第一張圖片,但我發現這段代碼卻顯示了帖子中的最後一張圖片(例如:http://zonadictoz.com.ar),我不知道爲什麼!來自Wordpress的第一張圖片
function myPostImage()
{
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
$first_img = $matches [1] [0];
if(empty($first_img)){ //Defines a default image
$first_img = "/images/default.jpg";
}
return $first_img;
}
任何想法?
難道你不能只選擇從數據庫連接到帖子的第一張圖片? – 2013-03-08 07:08:47
使用正則表達式來解析HTML通常被認爲是不好的。改用'DomDocument'。 – 2013-03-08 07:23:48
如果你堅持使用正則表達式,'var_dump'你的匹配,看看你的第一個圖像是否在數組中。你可能只是在調用錯誤的索引。 – 2013-03-08 07:25:11