You were totally right! It works great now. Can you explain why when I test for the value it screws up the contents? I don't understand why it does that.
Comment on Re^4: is_start_tag not on tokeparser simple
When you call get_text, it returns the text segment, but it also advances the parser to the next token. So the next time you call it, it doesn't return the same thing. Thus you have to store its return value if you want to use it again.