Взрывание () функция, которая игнорирует символы в кавычках?

Делает кто-то знает быстрое и легкое explode() как функция, которая может проигнорировать символы разделителя, которые включаются в пару произвольных символов (например, кавычки)?

Пример:

my_explode(
  "/", 
  "This is/a string/that should be/exploded.//But 'not/here',/and 'not/here'"
);

должен привести к массиву со следующими членами:

This is
a string 
that should be 
exploded.

But 'not/here', 
and 'not/here'

то, что символы перенесены в одинарные кавычки, спасло бы их от того, чтобы быть разделителями.

Бонусные очки для решения, которое может иметь дело с двумя символами обертки

(not/here)

Собственное решение PHP было бы предпочтено, но я не думаю, что такая вещь существует!

8
задан Pekka supports GoFundMonica 16 July 2010 в 12:24
поделиться

2 ответа

str_getcsv ($ str, '/')

На связанной странице есть рецепт для <5.3.

7
ответ дан 5 December 2019 в 15:19
поделиться

Что-то очень близкое с preg_split : http://fr2.php.net/manual/en/function.preg-split.php#92632

Он обрабатывает несколько символов-оберток И несколько символов-разделителей.

0
ответ дан 5 December 2019 в 15:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: