![]() |
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]() ![]() ![]() |
|
JFox |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 7.5.2010 Репутация: нет Всего: нет |
Здравствуйте, помогите пожалуйста составить регулярное выражение, которое будет вытаскивать из кода все данные, находящиеся между тегами <tr>(.*)</tr>
Пробовал так:
но почему то не работает( вот вырезка из странички, которую парсинм:
нужно поулчить: Array[0] ( [0] =>4843 [1] =>Третий синдикат [2] =>1,903.52 [3] =>17,594 ) Array[1] ( [0] =>..... [1] =>..... [2] =>..... [3] =>..... ) и так далее. И на этой же странице вторая табличка, полагаю принцип один, но мало ли
Array[1] ( [0] =>4843.gif [1] =>Плантация [2] =>255324 [3] =>CHUVAAK [1] =>Плантация [2] =>1,650.69 [3] =>495,207 ) и так все данные , пока не кончится таблица Это сообщение отредактировал(а) JFox - 7.5.2010, 18:48 |
||||||
|
|||||||
WebAngel |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 6.5.2010 Репутация: нет Всего: нет |
Кто сказал, что тебе нада tr? тебе нужно тоже самое но для td.
А чтобы получить: Array[0] ( [0] =>4843 [1] =>Третий синдикат [2] =>1,903.52 [3] =>17,594 ) результат обработать напильником. можешь еще погуглить на тему: DOMDocument, simplexml_import_dom и xpath Это сообщение отредактировал(а) WebAngel - 7.5.2010, 19:26 |
|||
|
||||
JFox |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 7.5.2010 Репутация: нет Всего: нет |
WebAngel, мне нужно вытащить этот блок
в отдельный массив Array[1], следующий аналогичный блок в Array[2] и т.д. , если указывать td вместо tr, все данные идут одной большой кучей, я думал что в данном случае именно tr должен быть "стартом и финишем"..( Мне потом надо будет все внести в бд, следовательно содержимое <tr>*</tr> будет одной записью(надеюсь понятно написал ![]() И подскажите, если не сложно, как можно вытащить только тот блок, в котором есть определенная надпись (например id=4843) Это сообщение отредактировал(а) JFox - 7.5.2010, 20:21 |
|||
|
||||
brother79 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 18.8.2009 Репутация: нет Всего: 6 |
Но вообще-то всё правильно составленно и должно работать. Я только обычно ещё экранирую <>, т.е. они вроде тоже что-то означали, типа граници слова кажется, надо смотреть. |
|||
|
||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 8 Всего: 401 |
brother79, сами по себе <> ничего не означают. Но иногда меняют смысл скобок: (?>...) - однократная незахватывающая проверка, (?<=) - проверка предшествующего текста.
JFox, зачем в реге двойная инверсия жадности (в .*? + модификатор U)? И еще модификатор s нужен, т.к. по умолчанию точка не ловит перевод строки.
Поддерживаю. Для нетривиального парсинга неизвестного HTML это более адекватные средства, чем реги. -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Тексты | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |