iNfantry
Новичок
Всем привет, давно столкнулся с такой проблемой и каждый раз ее обходил разынми костылями, но это надоело и захотелось раз и навсегда прояснить этот вопрос. Итак, в чем проблема.
Допустим у нас есть таблица хтмл и нужно спарсить все ее строки с колонками с помощью preg_match_all. Именно тут и таится проблема - если колонок больше какого-то количества, а точнее не колонок а искомых выражений обозначенных скобками - то паттерн не срабатывает. Поясню
Как обойти это дурацкое ограничение?
Допустим у нас есть таблица хтмл и нужно спарсить все ее строки с колонками с помощью preg_match_all. Именно тут и таится проблема - если колонок больше какого-то количества, а точнее не колонок а искомых выражений обозначенных скобками - то паттерн не срабатывает. Поясню
PHP:
preg_match_all('/<tr><td>([^<]+)<\/td><td>([^<]+)<\/td><td>([^<]+)<\/td><td>([^<]+)<\/td><\/tr>/', $buf, $rows); // - сработает
preg_match_all('/<tr><td>([^<]+)<\/td><td>([^<]+)<\/td><td>([^<]+)<\/td><td>([^<]+)<\/td><td>([^<]+)<\/td><td>([^<]+)<\/td><td>([^<]+)<\/td><td>([^<]+)<\/td><\/tr>/', $buf, $rows); // - не сработает только потому что выражений (...) больше 5 или 6, не помню точно