2015-02-16 1 views
-7

Вот строка:Как сопоставить повторяющийся рисунок в пределах двух символов

a:4:{i:1;s:2:"on";i:2;N;i:3;s:2:"on";i:4;N;} 

Похоже, JSON, но это не так. Мне нужно превратить это в следующий массив, используя регулярное выражение:

["On", N, "On", N] 

Любые мысли?

+0

Как именно вы определяете свой совпадение: любое вхождение '' на '' и 'N',' 'на '' и 'N', разделенное (неформально) на элемент ключа/значения (' i: 2') или совсем другое? – collapsar

ответ

0

Ваша строка - это массив, который был сериализован с использованием PHP serialize(). Если, как вам кажется, вы получаете это из PHP-программы, вместо этого вы должны выполнить неэтериализацию, прежде чем передавать ее на ваш Javascript.

Например, на хосте:

$json = json_encode(unserialize($array)); 

Теперь программа Javascript может просто использовать:

var array = JSON.parse(unserialized JSON from host); 

и использовать его как обычный массив JavaScript.

+0

Это фактически привело меня к решению метода unserialize, который был создан в JavaScript для нессериализации данных после запуска сериализации PHP. – Avisra