очередной preg_match_all

Статус
В этой теме нельзя размещать новые ответы.

animad

Новичок
очередной preg_match_all

есть некий файл...

PHP:
var gallery_pics=[
{
	id:"6be785666c8350fc54d0a85cb7ac8e51",
	fln1:"IMG_0817.JPG",
	w1:360,
	h1:480,
	fln2:"IMG_0817_thmb.JPG",
	w2:75,
	h2:100,
	title2:"1. СИС АДМИН",
	title1:"1. страшный и ужасный СИС АДМИН"
}
,
{
	id:"13e1880d3f8af38de19dfde3f85f5e26",
	fln1:"IMG_0817.JPG",
	w1:360,
	h1:480,
	fln2:"IMG_0817_thmb.JPG",
	w2:75,
	h2:100,
	title2:"2. СИС АДМИН",
	title1:"2. страшный и ужасный СИС АДМИН"
}
];
....разбираю его командой:
PHP:
$pat1='/(?:(\w+):(?:\")?([a-zA-Z0-9_.,:\/\\ а-яА-Я]+)(?:\")?)+/i';
preg_match_all($pat1,$data_tmp,$match);
....и получаю в массиве $match следующий результат:

PHP:
array (
  0 => 
  array (
    0 => 'id:"6be785666c8350fc54d0a85cb7ac8e51"',
    1 => 'fln1:"IMG_0817.JPG"',
    2 => 'w1:360,',
    3 => 'h1:480,',
    4 => 'fln2:"IMG_0817_thmb.JPG"',
    5 => 'w2:75,',
    6 => 'h2:100,',
    7 => 'title2:"1. СИС АДМИН"',
    8 => 'title1:"1. страшный и ужасный СИС АДМИН"',
    9 => 'id:"13e1880d3f8af38de19dfde3f85f5e26"',
    10 => 'fln1:"IMG_0817.JPG"',
    11 => 'w1:360,',
    12 => 'h1:480,',
    13 => 'fln2:"IMG_0817_thmb.JPG"',
    14 => 'w2:75,',
    15 => 'h2:100,',
    16 => 'title2:"2. СИС АДМИН"',
    17 => 'title1:"2. страшный и ужасный СИС АДМИН"',
  ),
  1 => 
  array (
    0 => 'id',
    1 => 'fln1',
    2 => 'w1',
    3 => 'h1',
    4 => 'fln2',
    5 => 'w2',
    6 => 'h2',
    7 => 'title2',
    8 => 'title1',
    9 => 'id',
    10 => 'fln1',
    11 => 'w1',
    12 => 'h1',
    13 => 'fln2',
    14 => 'w2',
    15 => 'h2',
    16 => 'title2',
    17 => 'title1',
  ),
  2 => 
  array (
    0 => '6be785666c8350fc54d0a85cb7ac8e51',
    1 => 'IMG_0817.JPG',
    2 => '360,',
    3 => '480,',
    4 => 'IMG_0817_thmb.JPG',
    5 => '75,',
    6 => '100,',
    7 => '1. СИС АДМИН',
    8 => '1. страшный и ужасный СИС АДМИН',
    9 => '13e1880d3f8af38de19dfde3f85f5e26',
    10 => 'IMG_0817.JPG',
    11 => '360,',
    12 => '480,',
    13 => 'IMG_0817_thmb.JPG',
    14 => '75,',
    15 => '100,',
    16 => '2. СИС АДМИН',
    17 => '2. страшный и ужасный СИС АДМИН',
  ),
)
.... как ВЫ видите, результат, грубо говоря, СКВОЗНОЙ....... т.е. все найденные параметры лежат в одном и том-же массиве...

PHP:
 1 => 
  array (
    0 => 'id',
    1 => 'fln1',
    2 => 'w1',
    3 => 'h1',
    4 => 'fln2',
    5 => 'w2',
    6 => 'h2',
    7 => 'title2',
    8 => 'title1',
    9 => 'id',
    10 => 'fln1',
    11 => 'w1',
    12 => 'h1',
    13 => 'fln2',
    14 => 'w2',
    15 => 'h2',
    16 => 'title2',
    17 => 'title1',
  ),
ВОПРОС: как можно сделать так, что бы содержимое файла, находящееся в КАЖДЫХ фигурных скобках клалось бы в отдельный массив...

(к примеру):

PHP:
 1 => 
  array (
    0 => 'id',
    1 => 'fln1',
    2 => 'w1',
    3 => 'h1',
    4 => 'fln2',
    5 => 'w2',
    6 => 'h2',
    7 => 'title2',
    8 => 'title1',
2=>
    1 => 'id',
    2 => 'fln1',
    3 => 'w1',
    4 => 'h1',
    5 => 'fln2',
    6 => 'w2',
    7 => 'h2',
    8 => 'title2',
    9 => 'title1',
  ),
 

Pigmeich

Новичок
animad
Справку прочитать, например. И понять как формируется выходной массив.
 

animad

Новичок
Автор оригинала: Pigmeich
animad
Справку прочитать, например. И понять как формируется выходной массив.
... увааемый если это ВАША работа такая, давать подобные сообщения, то посчитайте сколько у меня вопросов в этом форуме и поймете, что просо так я не треплюсь.

Если у меня есть вопрос, но СОВСЕМ нет ответа я его задаю.

-~{}~ 03.01.08 20:58:

Автор оригинала: Апокалипсис
animad
а какие цели вы преследуете распарсивая этот код?
есть некая страничка, которая отображает некую фотогалерею. нет никаких серверных скриптов.... и смысл такой, что галерея создается на ДжСкриптах из массива объектов. а что бы этот массив не писать руками, хочу написать ПХП , который на локальном компе будет пробегать по точной копии хранилища фоток и будет создавать этот самый файл *.js, который будет содержать массив объектов... для последующей обработке скриптом, .... НО ... мало пробежать и просканировать фотки..... надо что бы ПХП скр. умел ДОБАВЛЯТЬ НОВОЕ в уже имеющийся файл *.js ... .... для этого и нужно это РЕГУЛЯРНОЕ действо....
 

bkonst

.. хочется странного?...
Автор оригинала: animad
... увааемый если это ВАША работа такая, давать подобные сообщения, то посчитайте сколько у меня вопросов в этом форуме и поймете, что просо так я не треплюсь.

Если у меня есть вопрос, но СОВСЕМ нет ответа я его задаю.
Уважаемый, всё-таки соизвольте прочесть документацию по preg_match_all.
 

Gas

может по одной?
bkonst
документация именно по preg_match_all тут мало чем поможет.

animad
я так понимаю, вопрос уже больше теоритический - можно сделать одним регом без сплита на куски }\s+,\s+{ или нет?
 

animad

Новичок
Автор оригинала: bkonst
Уважаемый, всё-таки соизвольте прочесть документацию по preg_match_all.
чё очень умный? ... знаешь где я допустил ошибку? СКАЖИ.....

НЕТ В МАНУАЛЕ ТОГО, ЧТО МНЕ НАДО..... !!!!!!!!!!!

а не знаешь, как мне помочь, МОЛЧИ... я не развлекаюсь, а по делу спрашиваю, ПОМОЩИ прошу ПОНЯЛ? ... или это не то место где могут помочь? ... а только трепаться?????????????????????

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

-~{}~ 04.01.08 00:27:

Автор оригинала: Gas
animad
я так понимаю, вопрос уже больше теоритический - можно сделать одним регом без сплита на куски }\s+,\s+{ или нет?
вся штука в том, что данные могут быть такими:

{
id:"13e1880d3f8af38de19dfde3f85f5e26",
fln1:"IMG_0817.JPG",
w1:360,
h1:480,
fln2:"IMG_0817_thmb.JPG",
w2:75,
h2:100,
title2:"2. СИС АДМИН",
title1:"2. страшный и ужасный СИС АДМИН"
}

... а могут быть такими....

{
id:"13e1880d3f8af38de19dfde3f85f5e26",
fln1:"IMG_0817.JPG",
w1:360,
h1:480,
fln2:"IMG_0817_thmb.JPG",
w2:75,
h2:100,
title2:"2. СИС АДМИН",
title1:"2. страшный и ужасный СИС АДМИН"
title3:"2. СИС АДМИН", ////////////////////
fln3:"IMG_0817_thmb.JPG", /////////////////////
}

.... и каждый раз подстраивать код под нужное кол-во полей, мне кажется нет смысла....
 

Gas

может по одной?
animad
да не кипятись, на этом форуме 80% сообщений оффтоп :)

.... и каждый раз подстраивать код под нужное кол-во полей, мне кажется нет смысла....
зачем под количество полей, разбей сначала на массив js-хешей и в цикле уже на них натравливай свой рег.
Одним регекспом то скорее всего можно, но время позднее и сейчас не придумывается как.
 

bkonst

.. хочется странного?...
Автор оригинала: Gas
bkonst
документация именно по preg_match_all тут мало чем поможет.
Угу, просто снимет вопросы о том, что можно, и чего нельзя.

Автор оригинала: animad
чё очень умный? ... знаешь где я допустил ошибку? СКАЖИ.....
Судя по последнему посту - в ДНК.
 

Апокалипсис

тех дир matras.ru
Тема закрыта.

Проблемы личного характера и бессмысленные споры между участниками не являются предметом обсуждения форума.
Обсуждайте их в привате.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху