[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Регулярка работает только локально
arlamar
Доброго времени суток всем.

Для получения содержимое только нужной таблицы, у меня есть такая регулярка:

/<table.*tableListingTable[^>]*>(.*)<\/table>/isuU


В общем, локально(Вин7, Денвер) она работает, а на продакшне не хочет.
Параметры сервера не знаю, знаю только что линуха.
От версии PHP может зависеть?

Может кто сталкивался? Так не хочется парсер переписывать.

Спасибо.
Winston
Для начала покажи свой код.
arlamar
Тот парсер ещё не дописан, а вот рабочий парсер(локально).
На продакшене не работает.


if ( preg_match('/\<tbody.*sContent[^>]*\>(.*)\<\/tbody\>/isuU', $content, $tbody) ) {
$content = $tbody[1];
$tbody_exists = true;
}

if ( $tbody_exists && preg_match_all('/\<tr.*[^>]*\>(.*)\<\/tr\>/isuU', $content, $matches) ) {
foreach ($matches[1] as $tr) {
$item = new stdClass();
$item->created = time();
if ( preg_match_all('/\<td[^>]*\>(.*)\<\/td\>/isuU', $tr, $tds) ) {

preg_match('/(\d{2}\:\d{2}).*(\d{2}\.\d{2})/', date_to_en($tds[1][5]), $date);
if ( count($date) == 3 ) {
$item->departure_date = strtotime($date[2].'.'.date('Y').' '.$date[1]);
$item->departure_time_board = $item->departure_date;
} else {
$item->departure_time_board = $item->departure_date = 0;
}
preg_match('/(\d{2}\:\d{2}).*(\d{2}\.\d{2})/', date_to_en($tds[1][6]), $date);
if ( count($date) == 3 ) {
$item->departure_time_calculated = strtotime($date[2].'.'.date('Y').' '.$date[1]);
} else {
$item->departure_time_calculated = 0;
}
preg_match('/(\d{2}\:\d{2}).*(\d{2}\.\d{2})/', date_to_en($tds[1][7]), $date);
if ( count($date) == 3 ) {
$item->departure_time_fact = strtotime($date[2].'.'.date('Y').' '.$date[1]);
} else {
$item->departure_time_fact = 0;
}
$item->arrival_date = 0;
$item->arrival_time_board = 0;
$item->arrival_time_fact = 0;
$item->arrival_time_calculated = 0;
$item->no = strip_tags($tds[1][0]);
$item->airport_departure = '***';
$item->airport_arrival = strip_tags($tds[1][3]);
$item->terminal_arrival = '';
$item->terminal_departure = strip_tags($tds[1][8]);
$item->status_id = strip_tags($tds[1][4]);
$item->link = '';
$item->notes = '(com_name='.strip_tags($tds[1][1]).') (stoyka='.strip_tags($tds[1][9]).')';
$item->source_id =
$item->status = 'новый 48час';
$item->robots_id = 0;
$item->source_id = 101;
$all_items[] = $item;
}
}
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.