Codice PHP:
$output preg_match_all('/<img.+src=['"]([^'"]+)['"].*>/i'$post->post_content$matches); 
Guarda la colorazione del testo, noti niente di strano?

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.