Guarda la colorazione del testo, noti niente di strano?Codice PHP:
$output = preg_match_all('/<img.+src=['"]([^'"]+)['"].*>/i', $post->post_content, $matches);
Gli apici che hai dentro la preg_match ti troncano la stringa.
Non puoi racchiudere una stringa con gli apici singoli ' e poi usare gli stessi dentro la stringa senza l'escape davanti.
Metti un \ davanti agli apici dentro la stringa.