2013-04-23 3 views
1

У меня есть простая строка, которая выглядит как a:104:{i:143;a:5:{s:5:"naz";s:7:"Alb";s:10:"base"}}, и я хотел бы сохранить весь текст в кавычках, очищая его от таких вещей, как s:5 и прочее с помощью регулярного выражения.Сохранение строк в кавычках (") с использованием regex

+1

Хотя я думаю, что понимаю, что вы имеете в виду, для ясности вы можете опубликовать, что ожидаемый результат будет? –

+2

Да, это возможно. что ты уже испробовал? –

+0

Какой будет желаемый результат для примера, который вы опубликовали? Это немного неясно. – Walls

ответ

1

Хочет, чтобы получить все в кавычках использовать: ".*" в качестве строки поиска (побег " символов по мере необходимости)

..also вы можете проверить http://www.zytrax.com/tech/web/regex.htm для получения дополнительной помощи с регулярным выражением (у него есть отличный инструмент, где. вы можете протестировать текст ввода, RE и посмотреть, что вы выберете)

0

Пока двойные кавычки совпадают, следующий вызов

preg_match_all('/"([^"]*)"/',$input_string,$matches); 

даст вам весь текст между кавычками как массив строк в $matches[1]

0
function session_raw_decode ($data) { 
    $vars = preg_split('/([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff^|]*)\|/', $data, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE); 
    $result = array(); 
    for($i = 0; isset($vars[$i]); $i++) 
     $result[$vars[$i++]] = unserialize($vars[$i]); 
    return $result; 
} 

я этот фрагмент где-то нашел на моем сервер ... (понятия не имею, откуда он, или если я это написал себе)

Вы можете использовать его и сделать:

$json = json_encode(session_raw_decode($string)); 

Это должно выполнить эту работу.