Hi,
preg_match_all(
'~<td[^>]*>(.*?)</td>~',
$werte2[0][0],
$ausgabe,
PREG_PATTERN_ORDER
);
im Prinzip passt das doch, mit
$str = "<table>
<tr><td>Das ist ein <strong>fettes</strong> Brot!</td><td>das ist ein <i>schönes</i> Ding</td></tr>
<tr><td>Das ist ein <strong>starkes</strong> Stück!</td><td>das ist eine <i>alte</i> Nudel</td></tr>
</table>";
$regex = "#(<tr>)?<td>(.+?)</td>#";
preg_match_all ($regex, $str, $match);
print_r ($match) ;
bekommst Du diese Ausgabe
Array
(
[0] => Array
(
[0] => <tr><td>Das ist ein <strong>fettes</strong> Brot!</td>
[1] => <td>das ist ein <i>schönes</i> Ding</td>
[2] => <tr><td>Das ist ein <strong>starkes</strong> Stück!</td>
[3] => <td>das ist eine <i>alte</i> Nudel</td>
)
[1] => Array
(
[0] => <tr>
[1] =>
[2] => <tr>
[3] =>
)
[2] => Array
(
[0] => Das ist ein <strong>fettes</strong> Brot!
[1] => das ist ein <i>schönes</i> Ding
[2] => Das ist ein <strong>starkes</strong> Stück!
[3] => das ist eine <i>alte</i> Nudel
)
Anhand der gefundenen tr's kannst Du jetzt die td's per row ausrechnen und Dein Array umsortieren...
Gruesse, Joachim
Am Ende wird alles gut.