[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Разобрать строку с параметрами
Zuenf
В общем есть строка в которой параметры через запятую.
Каждый параметр может быть строкой в кавычках или числом.
Сделал вот так:

$params = "'hello, world', \"how \"are \'u\'\", 6";
preg_match_all('/(?:(?:(?:[\'](.*?[^\\\])[\']))|(?:(?:[\"](.*?[^\\\])[\"]))|(\d+))(?:,|$)/', $params, $params);
echo '<pre>'.print_r($params, true).'</pre>';

Но выглядит страшненько + возвращает не очень приятный массив:
результат

Array
(
[0] => Array
(
[0] => 'hello, world',
[1] => "how "are \'u\'",
[2] => 6
)

[1] => Array
(
[0] => hello, world
[1] =>
[2] =>
)

[2] => Array
(
[0] =>
[1] => how "are \'u\'
[2] =>
)

[3] => Array
(
[0] =>
[1] =>
[2] => 6
)

)

Хотелось бы что-то типа

Array
(
[0] => Array
(
[0] => 'hello, world',
[1] => "how "are \'u\'",
[2] => 6
)

[1] => Array
(
[0] => hello, world
)

[2] => Array
(
[0] => how "are \'u\'
)

[3] => Array
(
[0] => 6
)

)

или лучше даже так:
Array
(
[0] => Array
(
[0] => hello, world
[1] => how "are \'u\'
[2] => 6
)

)
sergeiss
Цитата (Zuenf @ 29.01.2015 - 19:15)
В общем есть строка в которой параметры через запятую.

Если параметры через запятую, то чем тебе explode() не нравится?

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Zuenf
Цитата (sergeiss @ 29.01.2015 - 19:19)
Цитата (Zuenf @ 29.01.2015 - 19:15)
В общем есть строка в которой параметры через запятую.

Если параметры через запятую, то чем тебе explode() не нравится?

Запятая может быть в параметре с кавычками
sergeiss
Цитата (Zuenf @ 29.01.2015 - 19:20)
Запятая может быть в параметре с кавычками

http://php.net/manual/ru/function.fgetcsv.php
В ПХП многго чего заложено. Прежде, чем "изобретать велосипед", лучше повнимательнее изучить существующие возможности.
И обрати внимание на функции, которые перечислены внизу той страницы, что я ссылку дал.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Zuenf
Не всегда знаешь как что-то назвать, чтоб найти инфу.
Потому и пишу сюда, иначе бы уже запилил в проект biggrin.gif
Спасибо! Буду изучать.

Zuenf
Еще раз спасибо, хорошая штука.
Единственный минус кавычки могут быть только одного вида.
Но этим можно и пожертвовать.

PS: 10 сообщение, теперь плюсики могу раздавать, так что плюсанул.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.