Имеется строка Код (Text): $response={"response":[1,{"id":40,"from_id":-33539970,"to_id":-33539970,"date":1327408141,"text":"а аЕаГб�аЛб�б�аНб�аЕ аВб�б�аАаЖаЕаНаИб� | аЄб�аНаКб�аИаИ аДаЛб� б�аАаБаОб�б� б� б�аЕаГб�аЛб�б�аНб�аМаИ аВб�б�аАаЖаЕаНаИб�аМаИ","media":{"type":"share","share_url":"http:\/\/www.softtime.ru\/bookphp\/gl7_11.php","share_title":"а аЕаГб�аЛб�б�аНб�аЕ аВб�б�аАаЖаЕаНаИб� | аЄб�аНаКб�аИаИ аДаЛб� б�аАаБаОб�б� б� б�аЕаГб�аЛб�б�аНб�аМаИ аВб�б�аАаЖаЕаНаИб�аМаИ"}]} Необходимо получить значение параметра text. Пишу Код (Text): preg_match_all('/"text":"(\w+)"/', $response, $f); echo "$f[1]"; Выводит Код (Text): Array Я не правильно составляю выражение или дело в кириллице?
Код (Text): Array ( [0] => Array ( ) [1] => Array ( ) ) В том и дело, что сами значения элементов массива получить не могу
хотелось бы что-бы в моём случае возвращалось Код (Text): а аЕаГб�аЛб�б�аНб�аЕ аВб�б�аАаЖаЕаНаИб� | аЄб�аНаКб�аИаИ аДаЛб� б�аАаБаОб�б� б� б�аЕаГб�аЛб�б�аНб�аМаИ аВб�б�аАаЖаЕаНаИб�аМаИ
теперь так Код (Text): preg_match('/"text":"(.+)"/', $response, $f); print_r($f[1]); Уже лучше, спс)) Только $f[1] содержит всю строку от "text":" до самых последних кавычек, а хотелось бы до первых, т е выводиться Код (Text): а аЕаГб�аЛб�б�аНб�аЕ аВб�б�аАаЖаЕаНаИб� | аЄб�аНаКб�аИаИ аДаЛб� б�аАаБаОб�б� б� б�аЕаГб�аЛб�б�аНб�аМаИ аВб�б�аАаЖаЕаНаИб�аМаИ","media":{"type":"share","share_url":"http:\/\/www.softtime.ru\/bookphp\/gl7_11.php","share_title":"а аЕаГб�аЛб�б�аНб�аЕ аВб�б�аАаЖаЕаНаИб� | аЄб�аНаКб�аИаИ аДаЛб� б�аАаБаОб�б� б� б�аЕаГб�аЛб�б�аНб�аМаИ аВб�б�аАаЖаЕаНаИб�аМаИ А надо Код (Text): а аЕаГб�аЛб�б�аНб�аЕ аВб�б�аАаЖаЕаНаИб� | аЄб�аНаКб�аИаИ аДаЛб� б�аАаБаОб�б� б� б�аЕаГб�аЛб�б�аНб�аМаИ аВб�б�аАаЖаЕаНаИб�аМаИ
Да, вещь нужная. Потренируюсь. То что надо! А что если в строке встречается несколько "text":"? При использовании preg_match я получу только результат первого вхождения? А если мне нужно все? Я всё-таки думал с этой целью использовать preg_match_all и записывать результаты в массив... Только что-то не получается((