[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Разбитие строки по запятой
wollk
Как разбить следующую строку по запятым не в кавычках
Исходная строка: '54","34',34,"ab,ac",10,20
Результат:
54","34
34
ab,ac
10
20
Представьте вызов функции: my_function('54","34',34,"ab,ac",10,20) И вот нужно получить формальные параметры
sergeiss
По-моему, тебе нужна вот эта функция: http://php.net/manual/ru/function.str-getcsv.php

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

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

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

user posted image
wollk
$str ="'54\",\"34',34,\"ab,ac\",10,20";
print_r(str_getcsv($str));

Выдает следующее:
Array ( [0] => '54" [1] => 34',34,ab [2] => ac" [3] => 10 [4] => 20 )

Чуть не то
sergeiss
Цитата (wollk @ 21.08.2015 - 00:11)
Выдает следующее:

Ну так ты про параметры-то почитай, подумай, "поиграйся" ими!!!

PS. Строку только подготовь, чтобы она была "правильная" (в частности, кавычки должны быть однотипные). Тогда всё получится нормально.
Данные у тебя откуда получаются?

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

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

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

user posted image
sergeiss
Вот тебе код :) С полученным массивом, я думаю, ты уже разберешься. Его можно преобразовать в строку, с четко определенным форматом, а можно так с массивом и работать.
$str = "\$a = array('54\",\"34',34,\"ab,ac\",10,20);";

eval( $str );

echo '<pre>'.print_r( $a, 1 ).'</pre>';


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

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

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

user posted image
wollk
В этом то и проблема, я избавляюсь от eval )) Виноват, что сразу не написал
sergeiss
Цитата (wollk @ 21.08.2015 - 00:35)
В этом то и проблема, я избавляюсь от eval ))

Об этом не было сказано smile.gif

Озвучь тогда уж сразу ВСЕ условия. "Избавляешься от eval", "не можешь использовать одинаковые кавычки"... Что еще не сказал пока? Ну, например, откуда идут данные и почему хочешь избавиться от eval()?

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

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

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

user posted image
wollk
Просто есть строка в теле страницы
Может быть и такая
function(54)
А может и такая:
function('54')
Или такая:
function(54,",")
Типа вызов функций
И вот парсится это, получаем то, что между скобками, и нужно это разбить на параметры
wollk
Люди могут написать как угодно. По этому я и не привяываюсь к одному типу кавычек.
Данные идут от - парсятcя со страницы wink.gif
Без eval - сказали, что использование eval - дурной тон. Вот и не использую. А так с ним бы и парсить ничего не надо было
sergeiss
Цитата (wollk @ 21.08.2015 - 00:41)
Без eval - сказали, что использование eval - дурной тон.

Если данные приходят от юзера, то да. Но если бы это был совсем "дурной тон", то и функции такой не было бы.

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

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

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

user posted image
Быстрый ответ:

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