Das habe ich ja versucht:
'#<tr.*>(.*)</tr.*>#isU'
der hintere teil matcht ja schon wieder auf </tr> oder </trfoobarbaz> - das ist denke ich nicht gewünscht
das ergebnis mit zb preg_match_all sollte jetzt ein array sein in dem der inhalt deiner zeilen der tabelle drin steht
dieses array gehst du mir foreach durch und matcht diesmal halt nach <td>xxx</td>
damit erzeugst du dir dann ein mehrdimensionales array gemäß deiner tabellenstruktur
Ich bekomme jetzt natürlich alles was in den Zeilen steht, aber wie man jetzt daraus einen Substring findet, eben innerhalb der Zellen in den Zeilen, ist mir schleierhaft. Ganz zu schweigen von den anderen Problematiken, Zeilenumbrüche und Leerzeichen.
siehe oben