Вопрос по Regexp

demongloom

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

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

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

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

Спасибо.
 

sage

Новичок
делай всё постепенно... одна задача - одно выражение...
 

denver

?>Скриптер
Одним регекспом не обойдешься.
А для чего это хоть можно использовать?
 

demongloom

Новичок
Да вот хочу свой шаблонизатор написать, наподобие смарти. Не ради конкретно шаблонизатора пишу, сколько для попытки понять как такое писать.

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

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

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

Но хочется добавить собственно поддержку ' кавычек и игнорирование \"
 

denver

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

А атомарно нужно разбивать если пишешь парсилку регэкспов, математических формул или проверку валидности XML например.
 

WP

^_^
А смысл его писать? Если есть Smarty? Тем более придется к ниму писать документацию, и кучу плагинов, в общем велосипед. Если не одумался покури
preg_replace_callback()
 

demongloom

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