それは非常に単純です、私は以下が一致する理由を理解していません:
preg_match('/\<td valign="top" class="bericht"\>(.*\s)*<\/td>/',$html,$matches3);
そして、これはしません:
preg_match('/\<td valign="top" class="bericht"\>(.*(\s)?)*<\/td>/',$html,$matches3);
思った?ゼロまたは1を意味しました。だから私はそれがどのように何かを一致させないことができるのかわかりません。
RegexPal(http://regexpal.com/)でテストすると、すべてが期待どおりに機能します。したがって、2番目のものは一致します。