[spostare JS] direi che è un problema JS, non PHP...

...cmq ti direi di cambiare l'evento onclick con una chiamata ad una funzione tipo onClick="javascript:return(tuafunc(this));"

all'interno di essa puoi sia cambiare il background come già avviene ora, sia estrapolare il codice con innerHTML... se poi usi una libreria tipo jQuery è anche più facile... se poi devi richiamare uno script php per salvare il tutto su un ".txt" potresti usare AJAX... ancora una volta con qualcosa come jQuery è meglio... però come dicevo è sostanzialmente un problema JS... in php si tratta di un paio di istruzioni, tipo:

Codice PHP:
// $code contiene il codice da salvare
// eventualmente "calcoli" il nome del file...
file_put_contents('nomedelfile.txt'$code);