|
Парсинг нескольких значений - Вопросы и ответы, обсуждения - Ваши вопросы по Web-программированию только в данном разделе |
13.03.2012, 02:36
|
#1
|
|
|
|
Старший сержант
|
Регистрация: 31.01.2011
Сообщений: 182
Популярность: 887
Золото Zhyk.Ru: 100
Сказал(а) спасибо: 136
Поблагодарили 494 раз(а) в 220 сообщениях
|
Парсинг нескольких значений
Взял функцию парсинга с жука, для одного значения работает гуд, но как быть, если значений несколько?
Например:
Код:
<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пасибо:
|
|
14.03.2012, 22:50
|
#2
|
|
|
|
Разведчик
|
Регистрация: 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.
Причина: Добавлено сообщение
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 06:29.
|
|