@wp: no problem at all. Usually I am the one taking 45 minutes on an edit, which then ends up in a *duh* that was already mentioned by someone quicker than me :-)
@krolikbest:
Wait until you meet nested tables
What you can do, in case you fairly certain there are not such exotic tags inside a table's datacell is to keep track whether you are or aren't inside a TD tag (use the OnFoundTag, set InCellDataTag to true when you find <TD> end false if </TD>.
When InCellDataTag is true you ignore tags that you wish to ignore, and keep adding text to the current/active text untill you meet the ending tag (and then collect the text-data)
Now, as you might have been able to see yourself, some tags inside a cell actually makes sense, such as <BR> (replace that with LineFeed) a <P> (for example use two linefeeds for that). If you are converting the celldata text for example to rtf then you can replace color tags, italic, bold etc to rtf codes, or translate into markdown, or simply ignore those tags.
Te problem is, as with all things proposed is that it totally depends on the data you are parsing. If things get too complex you are usually better off using a domparser (using xpath) or use internettools (which has a somewhat more modern xpath parser/selector).
And we did not even mentioned faulty html-code... in case you do not have the experience: there are more html pages around that don't follow the (w3) rules then there are pages that actually do. Missing tags, misuse of tags, scripts (in whatever language, js, pascal, json, php, python, etc), comments. In short: a lot of things can seriously confuse/damage a simple parser.