| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Preg Mach из xml |
| Автор: iAnthony 28.2.2009, 21:12 | ||
| Добрый вечер! Помоги, пожалуйста, разобраться с регулярным выражением. Есть xml: $temp =
И пытаюсь регулярными выражениями выцепить данные из тегов. $pattern = "/<data id=\"([^\"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)/i"; preg_match_all($pattern, $temp, $data, PREG_SET_ORDER); Все замечательно работает, но решил убрать из результатов id, преобразовав паттерн таким образом: $pattern = "/<data [^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)/i"; и на этом работоспособность кода пропала - никаких результатов. А почему? Что-то пока не понял, вроде по логике теперь ведь просто из результата должен исключиться id, вернее его значение. Буду премного благодарен за помощь! |
| Автор: skyboy 28.2.2009, 21:22 |
| вопрос концепутальный: почему не работать с http://ua.php.net/manual/ru/refs.xml.php в PHP механизмов для работы с XML? |
| Автор: iAnthony 28.2.2009, 23:08 |
| Я понимаю, что можно использовать domDocument, или xml_parser, или какой-нибудь simplexml. Но хочется с регулярными выражениями потеснее подружиться, да и если с ними разобраться, то решение будет ни чуть не сложнее, чем использовать стандартные механизмы работы с XML. |
| Автор: enof 1.3.2009, 12:46 |
| iAnthony, Чтобы разобраться с регулярными выражениями, почитайте http://softtime.ru/info/fridl.php. |
| Автор: iAnthony 1.3.2009, 12:52 |
| Прошу прощения, уважаемые коллеги! У меня после регулярного выражения шли проверки по определенным индексам полученных данных. Соответственно убрав одно значение из результата, индексы будут другие, поэтому у меня и результат пропадал. Поутру на код смотришь совсем другими глазами enof, спасибо за ссылку на книгу, обязательно почитаю, лишним точно не будет. |