Вопрос по Regexp

demongloom

Новичок
Вопрос по Regexp

Помогите с выражением чтобы разделить текст на следующие блоки:
1. Отдельно символы
2. Отдельно слова
3. Отдельно текст заключенный в ' или " кавычки, причем \' \" игнорируются.

К примеру текст:
В лесу родилась $elochka
В "лесу 'она росла' \"ухты\" "
Но даже 'спирт' ' ее не согревал.

[В][ ][лесу][ ][родилась][ ][$][elochka][\n]
[В][ ]["][лесу 'она росла' \"ухты\" ]["][\n]
[Но][ ][даже][ ]['][спирт]['][ ]['][ ][ее][ ][не][ ][согревал][.]

Спасибо.
 
делай всё постепенно... одна задача - одно выражение...
 
Одним регекспом не обойдешься.
А для чего это хоть можно использовать?
 
Да вот хочу свой шаблонизатор написать, наподобие смарти. Не ради конкретно шаблонизатора пишу, сколько для попытки понять как такое писать.

Просто нужно данные тега разбить в массив, чтоб по кусочку обрабатывать.

Я пока вот такую вот маску (")(.)*?(")|[\W]|[\w]* пока сделал, но ее нужно доработать.

Скажем include "2.tpl" v="hello preved" оно разбивает в [include][ ]["2.tpl"][ ][v][=]["hello preved"]

Но хочется добавить собственно поддержку ' кавычек и игнорирование \"
 
Брось, зачем разбивать всё это на атомарные когда у тебя всё так просто. Заменяешь "include (что-то там)" и "{что-то тут}" на содержимое файла что-то там и переменной что-то тут.

А атомарно нужно разбивать если пишешь парсилку регэкспов, математических формул или проверку валидности XML например.
 
А смысл его писать? Если есть Smarty? Тем более придется к ниму писать документацию, и кучу плагинов, в общем велосипед. Если не одумался покури
preg_replace_callback()
 
Сказал же, что не ради самого шаблонизатора пишу, а для проверки собственных способностей, типа смогу я написать или нет. криво или косо - не столь важно.
 
Сверху