Вопрос Как в PHP парсить строку?

Регистрация
5 Фев 2013
Сообщения
107
Репутация
0
Спасибо
0
Монет
0
Понять не могу, как в PHP парсить строку. Нужно выдернуть все значения между "score":" и "
Читаю описание функции и пока непонятно.

Хочу получить в массиве 4.8 5.8 и 6.7

$otvet = '{ "desc":{"score":"4.8","ratings":"1885","percent":"14.29"}, "seller":{"score":"5.8","ratings":"1885","percent":"15.66"}, "shipping":{"score":"6.7","ratings":"1885","percent":"15.48"} }';

preg_match_all('/"score":"(.*)"/', $otvet, $reiting);
print_r($reiting);
 
h t t p : / / b i t . l y / 2 m G 6 U u 1 убери пробелы и посмотри на эмуляторе - все нормально распознается если руки из плеч растут потом из этого массива выбираешь что там тебе нужно )))
 
Ваше регулярное выражение должно быть score:(.+?), тогда оно нежадно возьмет от : до ПЕВРОЙ запятой что-то большее 0 символов. а так он хватает от score: до КОНЦА строки. распихивает результаты в многомерный массив
 
У меня json_decode эту строку нормально переварил, так что не заморачивайся с регулярками, делай по-человечески
 
Назад
Сверху