Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Регулярка или иной способ вырезать из строки нужное.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Kaufmann
Отправлено: 03 Марта, 2013 - 14:00:06
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Май 2012  


Помог: 0 раз(а)

[+]


На сервер приходит строка:
PHP:
скопировать код в буфер обмена
  1. var array1 = [ "9B10","na","0","Fi","NYE","12:00 am","Mar. 2, 2013","20.8800" ]; var array2 = [ "1ff0","Ta","0","We","NYE","5:00 pm","Mar. 2, 2013","13.0013" ]; var arrTotal = [ "AAA", "MMM" ];


Нужна регулярка или иной способ, чтобы получить на выходе 2 строки:
PHP:
скопировать код в буфер обмена
  1. [ "9B10","na","0","Fi","NYE","12:00 am","Mar. 2, 2013","20.8800" ],[ "1ff0","Ta","0","We","NYE","5:00 pm","Mar. 2, 2013","13.0013" ]

и
 
 Top
LShark
Отправлено: 03 Марта, 2013 - 14:24:07
Post Id



Частый гость


Покинул форум
Сообщений всего: 240
Дата рег-ции: Нояб. 2012  


Помог: 1 раз(а)




Приходят именно ТРИ массива? Или одн массив, в котором эти вложены?

Если вложены - то можно и через foreach

PHP:
скопировать код в буфер обмена
  1. $foot=array();
  2. foreach(твой_массив as $val) {
  3. $foot[]=$val;
  4. }
  5.  

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

На и потом переделать в строки с помощью implode():

(аналогично, если приходят ТРИ массива:

Получишь СТРОКУ, в которой запятыми будут разделены все значения аррая.

(Отредактировано автором: 03 Марта, 2013 - 14:28:46)



-----
Истина прежде всего в том, что...
 
 Top
Kaufmann
Отправлено: 03 Марта, 2013 - 15:15:19
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Май 2012  


Помог: 0 раз(а)

[+]


LShark пишет:
Приходят именно ТРИ массива? Или одн массив, в котором эти вложены?

LShark, это в JavaScript, строка которую я привел, была бы 3-мя массивами... А в php, у меня на сервере, - это cчитается обычной строкой. Вот такой вот ньюанс!

Поэтому из этой строки нужно вырезать нужное, чтобы получилось две строки как я показал выше. В последствии, эти строки будут забираться ajax'ом с клиента, и раскладываться в привычные JavaScript массивы...

ДОБАВЛЕНО

Думаю так нагляднее будет:

Имею на входе:
PHP:
скопировать код в буфер обмена
  1. $input_string = 'var array1 = [ "9B10","na","0","Fi","NYE","12:00 am","Mar. 2, 2013","20.8800" ]; var array2 = [ "1ff0","Ta","0","We","NYE","5:00 pm","Mar. 2, 2013","13.0013" ]; var arrTotal = [ "AAA", "MMM" ];';


Хочу вырезать и получить из этой строки на выходе две строки:
PHP:
скопировать код в буфер обмена
  1. $output_string1 = '[ "9B10","na","0","Fi","NYE","12:00 am","Mar. 2, 2013","20.8800" ],[ "1ff0","Ta","0","We","NYE","5:00 pm","Mar. 2, 2013","13.0013" ]';
  2.  
  3. $output_string2 = '[ "AAA", "MMM" ]';

(Отредактировано автором: 03 Марта, 2013 - 15:23:18)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB