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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Preg Mach из xml 
V
    Опции темы
iAnthony
Дата 28.2.2009, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Добрый вечер!

Помоги, пожалуйста, разобраться с регулярным выражением.

Есть xml:
$temp = 
Код

<data id="A12345">
   <item1>Text</item1>
   <item2>Text</item2>
   <item3>Text</item3>
   <item4>Text</item4>
   <item5>Text</item5>
</data>
<data id="F54321">
   <item1>Text</item1>
   <item2>Text</item2>
   <item3>Text</item3>
   <item4>Text</item4>
   <item5>Text</item5>
</data>

И пытаюсь регулярными выражениями выцепить данные из тегов.
$pattern = "/<data id=\"([^\"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)/i";
preg_match_all($pattern, $temp, $data, PREG_SET_ORDER);

Все замечательно работает, но решил убрать из результатов id, преобразовав паттерн таким образом:
$pattern = "/<data [^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)/i";

и на этом работоспособность кода пропала - никаких результатов.
А почему? Что-то пока не понял, вроде по логике теперь ведь просто из результата должен исключиться id, вернее его значение.

Буду премного благодарен за помощь!
PM MAIL   Вверх
skyboy
Дата 28.2.2009, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



вопрос концепутальный: почему не работать с одним из существующих в PHP механизмов для работы с XML?
PM MAIL   Вверх
iAnthony
Дата 28.2.2009, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я понимаю, что можно использовать domDocument, или xml_parser, или какой-нибудь simplexml. Но хочется с регулярными выражениями потеснее подружиться, да и если с ними разобраться, то решение будет ни чуть не сложнее, чем использовать стандартные механизмы работы с XML.
PM MAIL   Вверх
enof
Дата 1.3.2009, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 30
Всего: 35



iAnthony, Чтобы разобраться с регулярными выражениями, почитайте Фридла.
PM MAIL ICQ Skype   Вверх
iAnthony
Дата 1.3.2009, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Прошу прощения, уважаемые коллеги!
У меня после регулярного выражения шли проверки по определенным индексам полученных данных. Соответственно убрав одно значение из результата, индексы будут другие, поэтому  у меня и результат пропадал.
Поутру на код смотришь совсем другими глазами  smile 

enof, спасибо за ссылку на книгу, обязательно почитаю, лишним точно не будет.

Это сообщение отредактировал(а) iAnthony - 1.3.2009, 12:54
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0468 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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