Das muss doch allein durch eine Regex zu lösen sein, oder doch nicht?
sowas in der richtung, nicht getestet:
(<(tr|td)[^>]*>)(.*)(</\2>)sollte auf beliebige vorkommen von tr- oder td-elemente (start-tag, end-tag und inhalt separat) matchen
Leider nein: http://www.regex-tester.de/uc_575_de.html
Mario