2011-01-28 2 views
1

Если у меня есть строка, содержащая JavaScript-код для массива:Синтаксический Javascript-массив в PHP

parent.data[0].c = [[10,'TESTVALUE',]]; 

с большим количеством вложенных массивов в нем. Каков наилучший способ проанализировать его с помощью PHP. JSON не является вариантом из-за того, что данные доступны только в формате выше.

Thx!

+0

не данные будут преобразованы в JSON из JS, а затем установить в PHP? то вы можете использовать json_decode(); –

+1

Возможный дубликат [Парсинг javascript-массивов в PHP] (http://stackoverflow.com/questions/3886331/parsing-javascript-arrays-in-php) –

+0

Из того, что вы сказали, трудно понять, в чем проблема с использованием JSON? – Spudley

ответ

1

Если удалить лишнюю запятую после TestValue и изменения «TestValue» к «TestValue» его действительным JSon

+0

Это сложный файл массива, поэтому преобразование его вручную в json может завершиться неудачей. – SteMa

+0

str_replace («'', '' ', $ target); str_replace (',] ','] ', $ target); Стоит попробовать, вы не скажете? – Matt

+0

абсолютно прав, некоторые вещи так просто, когда ты знаешь как... – SteMa

0

Я бы, вероятно, сделал это с помощью рекурсивной функции, которая использует регулярное выражение для поиска совпадающих пар [] и построения массива по частям. Вероятно, требуется немного проб и ошибок, чтобы не пропустить возможные источники ошибок при сопоставлении регулярных выражений, но не должно быть слишком много работы из-за рекурсивности.

Удачи.