Provo a suggerirti un altro approccio: quello che hai scritto sembra (quasi, bisogna fare una piccola aggiunta...) una notazione JSON, per la qualche in PHP (solo nella versione 5, però...) esistono dei metodi appositi di conversione:
Codice PHP:
// posto che $line sia la linea del file come l'hai riportata qui sopra
$json = json_decode ('{' . $line . '}');
Con il tuo esempio, il risultato dovrebbe equivalente a qualcosa del genere:
Codice PHP:
$json = array (
'id' => 39246,
'level' => 200,
'name' => '3Amulet of Autopsy',
'reqlevel' => 80,
'slot' => 2,
'slotbak' => 2,
'source' => array (
0 => 2,
),
'sourcemore' => array (
0 => array (
'dd' => 1,
'n' => 'Heigan the Unclean',
't' => 1,
'ti' => 15936,
'z' => 3456,
),
),
'subclass' => -3,
'modes' => array (
'mode' => 8,
'4' => array (
'count' => 4122,
'outof' => 41476,
),
'8' => array (
'count' => 4116,
'outof' => 21941,
),
),
'count' => 4122,
'stack' => array (
0 => 1,
1 => 1,
),
);
dal quale puoi "facilmente" ricavare i valori che ti servono...
Stammi bene...