Господа, добрый день.
Ситуация такая: есть огромная .csvшка на 100+ тысяч записей с домашними адресами людей. Стоит задача к каждому из этих адресов добавить домашний номер телефона. Нашел
online справочник, где параметры поиска передаются в GET запросе.
Делаю так —
$fields = fgetcsv($fd) ;
$street = $fields[16];
$dom = $fields[17];
$apt = $fields[19];
$page = file_get_contents('http://minsk.telkniga.com/search/?fio=&ph=&r=3&c=minsk&s='.$street.'&h='.$dom.'&b=&f='.$apt.'');
preg_match_all ('|<td class="number">(.*)</td>|isU', $page, $content2, PREG_SET_ORDER);
$number = $content2['0']['1'];
Работает замечательно, только одно «но» — в справочнике что-то сломано, и если в адресе присутствует корпус, то он ничего не находит. Если задать адрес без корпуса — выводит по очереди «улица Пушкина, д. 1, к. 1, кв. 1», «улица Пушкина, д. 1, к. 2, кв. 1» и так далее. Каждый отдельный результат заключен в
<tr> ... </tr>
.
Я хочу загружать страницу, искать в ней нужную
<tr> ... </tr>
c нужным корпусом, записывать то, что получится в переменную, а дальше опять
preg_match_all ('|<td class="number">(.*)</td>|isU', $tr, $content2, PREG_SET_ORDER);
только вместо всей страницы искать уже в найденной строке.
Вопрос: как должно выглядеть регулярное выражение, чтобы из кода страницы вытащить TRку, в которой содержаться символы, например, «к. 1»?
Спасибо заранее.