我需要从帖子中提取第一张图片,我找到了这段代码,但这显示了帖子中的最后一张图片(例如:http://zonadictoz.com.ar),我不知道为什么!
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;
}
有什么想法吗?
答案 0 :(得分:2)
使用features image字段是一个更强大的解决方案,但是对于您的代码,您可以使用 preg_match()更改 preg_match_all()确保只捕获第一场比赛:
<?php
$match = preg_match('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
if ( $match )
$first_img = $matches[1];
?>
答案 1 :(得分:0)
我实现了上面的代码,但似乎仍然从最后一张图片中获取,而不是第一张,我怎么能扭转它?