preg_match_all排除.gif扩展名

时间:2015-03-18 16:41:49

标签: php wordpress parsing preg-match-all

我正在一个网站上工作,我已经设置了从wordpress帖子获取第一张和第二张图片作为自定义主页布局。

我正在使用此代码:

//GET FIRST IMAGE ON POST
function get_first_image($size = false) {

global $post, $_wp_additional_image_sizes;
$first_img = '';

$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
$first_img = $matches[1][0];

if (empty($first_img)) {
    return;
}

if ($size && $_wp_additional_image_sizes[$size]['crop'] == 1) {
    $size = '-' . $_wp_additional_image_sizes[$size]['width'] . 'x' . $_wp_additional_image_sizes[$size]['height'] . '.jpg';
    $pattern = '/-\d+x\d+\.jpg$/i';
    $first_img = preg_replace($pattern, $size, $first_img);
}

return $first_img;

}

我的问题是我的客户在她的博客中使用JPG图片,但文章中有一些.GIF图片,这些.GIF我想跳过并获取图片是有效的.JPG图片,我该怎么做?

1 个答案:

答案 0 :(得分:0)

此正则表达式将包含jp(e)g和png,因此不包含gif。

<img\s.*src='?".+(jpe?g|png).+>