Hmm... Have you thought about using eval()?
In theory (and if I read your post correctly), you will have strings looking like:
'array("txt1", "txt2", "txt3")'
You could just:
$mystring = 'array("txt1", "txt2", "txt3")';
$myarray = array();
eval('$myarray = ' . $mystring . ';');
// $myarray should now contain the array data
That code might work - I haven't tested it so I'm not 100% sure. Make sure in the eval line you use single quotes for '$myarray = '. If you use double quotes, PHP will swap in the value of $myarray which isn't what you want here.
I'm not sure if this does what you're looking for...