Вы получите множество советов не использовать регулярные выражения для извлечения материала из HTML-кода.
Бывают случаи, когда целесообразно использовать регулярные выражения для такого рода вещей, и я невсегда соглашайтесь с довольно жестким советом, данным здесь по этому вопросу (и в других местах).Однако в этом случае я бы сказал, что регулярное выражение не является для вас подходящим решением.
Проблема с использованием регулярного выражения для поиска вещей в коде HTML - это именно та проблема, с которой вы столкнулись - код HTML может отличатьсядико, делая любое регулярное выражение практически невозможно, чтобы получить право.
Почти возможно написать регулярное выражение для вашей ситуации, но это будет безумно сложное регулярное выражение, и очень хрупкое - то есть склонное к неудаче, еслиHTML-код даже немного выходит за ожидаемые параметры.
Сравните это с рекомендуемым решением, которое заключается в использовании DOM-парсера.Загрузите HTML-код в DOM-анализатор, и вы сразу получите объектную структуру, к которой вы можете запросить отдельные элементы и атрибуты.
Подробные данные, которые вы предоставили, делают это практически несложным делом.вместо регулярных выражений.
PHP имеет встроенный анализатор DOM, который вы можете вызвать следующим образом:
$mydom = new DOMDocument;
$mydom->loadHTMLFile("http://....");
Затем вы можете использовать XPath для поиска в DOM вашего конкретного элемента илиатрибут, который вы хотите:
$myxpath = new DOMXPath($mydom);
$myattr = $xpath->query("//td[@class="rdbot"]//img[0]@src");
Надеюсь, что поможет.