Two things I can think of:
* the encoding in the choice options is different because I switched to parsing the HTML instead of using regex
* the returned HTML from the choice may be different because again I switched away from regex to cleaning the HTML. So it has extra tags and is formatted differently if the choice does not contain a form with "choiceform1".
At a guess, the latter.