Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Снова регулярка :) 
:(
    Опции темы
SneG0K
Дата 6.9.2010, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



Есть некий текст
Цитата

<tr>\n\t\t\t\t<td>05.11.2010<br>Пятница<\/td>\n\t\t\t\t<td>2<\/td>\n\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t\t<a target=\"_blank\" href=\"\/Prices\/Packages\/Hotels\/Prices\/?id=3850481\">Краковя 3*<\/a>\n\t\t\t\t\t<br>\n\t\t\t\t\t<span class=\"comment\"><acronym title=\"Название тура (спец. предложение)\">Краков - РўСѓСЂ выходного РґРЅСЏ<\/acronym><\/span>\n\t\t\t\t<\/td>\n\t\t\t\t<td>BB<\/td>\n\t\t\t\t<td>STD<\/td>\n\t\t\t\t<td>DBL <\/td>\n\t\t\t\t<td><span style=\"background-color:#fef3b8\"><acronym title=\"Наличие мест уточняйте Сѓ менеджера\">?<\/acronym><\/span><\/td>\n\t\t\t\t<td><span style=\"background-color:#fef3b8\"><acronym title=\"Наличие мест уточняйте Сѓ менеджера\">?<\/acronym><\/span><\/td>\n\t\t\t\t\t\t\t\t\t<td align=\"right\" style=\"padding-right:15px;\"><a target=\"_blank\" href=\"\/Prices\/Packages\/Hotels\/Prices\/?id=3850481\"><nobr>310€<\/nobr><\/a><\/td>\n\t\t\t\t\t\t\t<\/tr>

Простите за кодировку.
Есть некая регулярка
Код

$pattern = '#<td>(.*)<br>.*<.*td>.*' . // Date
                            '<a.*>(.*)<.*a>.*' . // Name
                            '<acronym.*>(.*)<.*acronym>.*' . // Descriptions
                            '<td>(.*)<.*td>.*' . // Eat
                            '<td>(.*)<.*td>.*' . // Room type
                            '<td>(.*)<.*td>.*' . // Size
                            '<td>(.*)<.*td>.*' . // Tickets
                            '<a.*>.*<nobr>(\d*)&\#128;<.*nobr>.*<.*a>' . // Price
                            '#Uis';

Собственно в чем проблема. Поле Tickets
Цитата

<td><span style=\"background-color:#fef3b8\"><acronym title=\"Наличие мест уточняйте у менеджера\">?<\/acronym><\/span><\/td>\n\t\t\t\t<td><span style=\"background-color:#fef3b8\"><acronym title=\"Наличие мест уточняйте у менеджера\">?<\/acronym><\/span><\/td>

Подразумевает наличие билетов туда и обратно. Как видно в примере выше, здесь есть два тега <td></td>
Но есть места где тег только один раз повторяется.
Как сделать так, чтобы поле tickets выбирало все от первого <td> до последнего </td> в заданном интервале (все выделенное зеленым цветом)
Цитата

<tr>\n\t\t\t\t<td>05.11.2010<br>Пятница<\/td>\n\t\t\t\t<td>2<\/td>\n\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t\t<a target=\"_blank\" href=\"\/Prices\/Packages\/Hotels\/Prices\/?id=3850481\">Краковя 3*<\/a>\n\t\t\t\t\t<br>\n\t\t\t\t\t<span class=\"comment\"><acronym title=\"Название тура (спец. предложение)\">Краков - РўСѓСЂ выходного РґРЅСЏ<\/acronym><\/span>\n\t\t\t\t<\/td>\n\t\t\t\t<td>BB<\/td>\n\t\t\t\t<td>STD<\/td>\n\t\t\t\t<td>DBL <\/td>\n\t\t\t\t<td><span style=\"background-color:#fef3b8\"><acronym title=\"Наличие мест уточняйте Сѓ менеджера\">?<\/acronym><\/span><\/td>\n\t\t\t\t<td><span style=\"background-color:#fef3b8\"><acronym title=\"Наличие мест уточняйте Сѓ менеджера\">?<\/acronym><\/span><\/td>\n\t\t\t\t\t\t\t\t\t<td align=\"right\" style=\"padding-right:15px;\"><a target=\"_blank\" href=\"\/Prices\/Packages\/Hotels\/Prices\/?id=3850481\"><nobr>310€<\/nobr><\/a><\/td>\n\t\t\t\t\t\t\t<\/tr>



Это сообщение отредактировал(а) SneG0K - 6.9.2010, 10:34
PM WWW Skype   Вверх
enoff
Дата 6.9.2010, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 30.6.2010
Где: Санкт-Петербург

Репутация: 11
Всего: 13



10 минут сидел думал, что требуется  smile 
Код

(<td>(.*)<.*td>.*)+ //tickets

PM MAIL ICQ Skype GTalk   Вверх
SneG0K
Дата 6.9.2010, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



Уже лучше, но надо чтобы извлекло оба тега
Цитата

<td><span style=\"background-color:#fef3b8\"><acronym title=\"Наличие мест уточняйте у менеджера\">?<\/acronym><\/span><\/td>\n\t\t\t\t<td><span style=\"background-color:#fef3b8\"><acronym title=\"Наличие мест уточняйте у менеджера\">?<\/acronym><\/span><\/td>

 а оно извлекло только
Цитата

<td><span style=\"background-color:#fef3b8\"><acronym title=\"Наличие мест уточняйте у менеджера\">?<\/acronym><\/span><\/td>\n\t\t\t\t<td><span style=\"background-color:#fef3b8\"><acronym title=\"Наличие мест уточняйте у менеджера\">?<\/acronym><\/span><\/td>

PM WWW Skype   Вверх
patap
Дата 6.9.2010, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 26
Всего: 40



Код

<td>(.*?)<.*td>.*


?


--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
SneG0K
Дата 6.9.2010, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



Спасибо, теперь работает  smile 
PM WWW Skype   Вверх
enoff
Дата 6.9.2010, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 30.6.2010
Где: Санкт-Петербург

Репутация: 11
Всего: 13



опередили  smile 

Это сообщение отредактировал(а) enoff - 6.9.2010, 11:08
PM MAIL ICQ Skype GTalk   Вверх
SneG0K
Дата 6.9.2010, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



Эммм.. эмммм... А вот тут такая вещь, закрывающий тег <\/td> допустим имеет наличие двух слешей. "\" и соответственно "/"
Я пишу так <.*td>, а как мне указать что-то типа <\/td> ? 

PM WWW Skype   Вверх
patap
Дата 6.9.2010, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 893
Регистрация: 7.5.2005
Где: Украина, Зп

Репутация: 26
Всего: 40



Код

<\\\/td>



--------------------
На боку кобура болталась, сзади шашка отцовская звякала. 
Впереди меня все хохотало, а позади все плакало (с)
PM MAIL ICQ   Вверх
SneG0K
Дата 6.9.2010, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



patap, а почему с двумя не работает? Один слеш вроде должен экранировать другой?

Добавлено через 9 секунд
<\\/td>
PM WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0487 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.