Разбор аргументов команды в PHP

Есть ли собственный "способ PHP" для анализа аргументов команды изstring? Например, учитывая следующееstring:

foo "bar \"baz\"" '\'quux\''

Я хотел бы создать следующееarray:

array(3) {
  [0] =>
  string(3) "foo"
  [1] =>
  string(7) "bar "baz""
  [2] =>
  string(6) "'quux'"
}

Я уже пытался использоватьtoken_get_all(), но синтаксис интерполяции переменной PHP (например,"foo ${bar} baz") довольно много дождей на моем параде.

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

РЕДАКТИРОВАТЬ: Обратите внимание, что я хочу разобрать аргументы отstringНЕ из оболочки / командной строки.

РЕДАКТИРОВАНИЕ № 2: Ниже приведен более полный пример ожидаемого ввода -> вывода для аргументов:

foo -> foo
"foo" -> foo
'foo' -> foo
"foo'foo" -> foo'foo
'foo"foo' -> foo"foo
"foo\"foo" -> foo"foo
'foo\'foo' -> foo'foo
"foo\foo" -> foo\foo
"foo\\foo" -> foo\foo
"foo foo" -> foo foo
'foo foo' -> foo foo

Ответы на вопрос(11)

Ваш ответ на вопрос