<?php preg_match_all("@<tr onmouseover=[\'\"]this.bgColor=[\'\"]#fef4db[\'\"] onmouseout=[\'\"]this.bgColor=[\'\"]#ffffff[\'\"][\'\"] align=[\'\"]center[\'\"] bgcolor=[\'\"]#ffffff[\'\"]>(.*)</tr>@", $html, $matches); foreach($matches as $m){ foreach($m as $a){ } } ?>
ponieważ interesują mnie tylko te wiersze. Równie dobrze mógłby pobierać cała tabele ale nie to jest problemem. Jeżeli próbuje to zrobić dla całej tabeli efekt jest ten sam czyli pusta tablica $matches.
Od razu dodam że dla kodu:
<?php foreach($matches as $m){ foreach($m as $a){ } } ?>
Wszystko działa z tymże wyników oczywiście dostaje za dużo(wszystkie <tr> na stronie)
Moze ktoś ma pomysł jak powinno wyglądać to wyrażenie żeby zadziałało.
W końcu udało mi się znaleźć rozwiązanie. Generalnie dobrze kombinowałem z tym że źródło strony inaczej było wyświetlane w ff a inaczej widział to serwer w związku z czym pomogła zmiana kolejności na
preg_match_all("@<tr align=[\'\"]center[\'\"] onmouseover=[\'\"]this.bgColor=[\'\"]#fef4db[\'\"][\'\"] onmouseout=[\'\"]this.bgColor=[\'\"]#ffffff[\'\"][\'\"]>(.*)</tr>@", $html, $matches);