WordPressを使っています。投稿(記事ページなど)内にある1つめのimgタグをdivで囲いたいので以下のようなコードを書いてみましたがどうにこもうにも動きません。どのようにすればいいでしょうか。

function firstimg_add_divtag($content){
    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];

  $content = preg_replace($first_img , '<div><img alt=""${1}></div>', $content);
  return $content;
}
add_filter('the_content', 'firstimg_add_divtag');

お手数ですがご教授のほどよろしくお願いします。

参考リンク
http://kotori-blog.com/wordpress/entry_first_img/
http://nelog.jp/no-alt-fix