Extracting gallery images in WordPress 3.5 on index.php

get_the_content is a template tag and would only work reliably inside a Loop. That means that you should also be able to use the $post global instead.

global $post; // may not be necessary unless you have scope issues
              // for example, this is inside a function
$post_content = $post->post_content;
preg_match('/\[gallery.*ids=.(.*).\]/', $post_content, $ids);
$array_id = explode(",", $ids[1]);

You can then use wp_get_attachment_image to actually get the images.

foreach ($array_ids as $id) {
  echo  wp_get_attachment_image($id);
}