Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Парсинг нескольких значений

-

Вопросы и ответы, обсуждения

- Ваши вопросы по Web-программированию только в данном разделе

Ответ
 
Опции темы
Старый 13.03.2012, 02:36   #1
Заблокирован
 Старший сержант
Аватар для Gamer1912
 
Gamer1912 лучик света в грозовом небеGamer1912 лучик света в грозовом небеGamer1912 лучик света в грозовом небеGamer1912 лучик света в грозовом небеGamer1912 лучик света в грозовом небеGamer1912 лучик света в грозовом небеGamer1912 лучик света в грозовом небе
Регистрация: 31.01.2011
Сообщений: 182
Популярность: 887
Золото Zhyk.Ru: 100
Сказал(а) спасибо: 136
Поблагодарили 494 раз(а) в 220 сообщениях
Отправить сообщение для Gamer1912 с помощью Skype™
 
По умолчанию Парсинг нескольких значений

Взял функцию парсинга с жука, для одного значения работает гуд, но как быть, если значений несколько?
Например:

Код:
<id>1</id>
<id>2</id>
<id>3</id>
На выходе мне надо получить 1,2,3
Вот функция парсинга, которой пользуюсь

Код:
function parse($log,$begin,$end)
{
$begin = strpos($log, $begin) + strlen($begin);
$end = strpos($log, $end, $begin);
$result = substr($log, $begin, $end - $begin);
return $result;
}
Заранее спасибо!

Добавлено через 1 час 34 минуты
В общем вопрос снят, попарился немного и написал чудобредокод
Главное, что работает, возможно кто-то посоветует лучше!

Код:
//функция парсинга
function parse($log,$begin,$end)
{
$begin = strpos($log, $begin) + strlen($begin);
$end = strpos($log, $end, $begin);
$result = substr($log, $begin, $end - $begin);
return $result;
}
preg_match_all('/<id>?(.|\s)*?<\/id>/', $str, $matches);
for($n = 0; $n < count($matches[0]); $n++)
                {
                      echo parse($matches[0][$n],'<id>','</id>') .',';
                }

Последний раз редактировалось Gamer1912; 13.03.2012 в 04:12. Причина: Добавлено сообщение
  Ответить с цитированием
Пользователь сказал cпасибо:
The Unique (04.04.2012)
Старый 14.03.2012, 22:50   #2
 Разведчик
Аватар для mark4s
 
mark4s никому не известный тип
Регистрация: 28.10.2011
Сообщений: 10
Популярность: 16
Сказал(а) спасибо: 1
Поблагодарили 4 раз(а) в 4 сообщениях
 
По умолчанию Re: Парсинг нескольких значений

Можно так:
Код:
$text = "<id>1</id>
<id>2</id>
<id>3</id>";
preg_match_all("#<id>(\d+)</id>#", $text, $out);
foreach($out[1] as $v) echo "$v\n"
хотя это Вы и сами написали..

Последний раз редактировалось mark4s; 14.03.2012 в 22:52. Причина: Добавлено сообщение
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парсинг из XML OneShot Вопросы и ответы, обсуждения 13 08.12.2011 15:30
Парсинг OrBiT_DaRk С/С++ 1 20.09.2011 19:14
Парсинг двух значений the-boxi С/С++ 1 27.08.2011 17:59
Парсинг нескольких элементов Mr_R@NDOM Вопросы и ответы, обсуждения 3 03.06.2011 20:08

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 06:29.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net