Black#FFFFFF
Постоялец
- Регистрация
- 19 Июл 2007
- Сообщения
- 228
- Реакции
- 172
- Автор темы
- #1
Народ. Нужна регулярочка - которая "достает" со страницы только текст между тэгами, ту часть его, которая не заключена в {} скобки.
Пример:
Так вот достать нужно отдельно
Не задев конструкции смарти.
и не трогая html теги.
Получив на выходе "массив" текста в текущем теге страницы, и, в частности, разбитый по значениям - если там есть смарти конструкция внутри.
Суть вопроса - "приехали" неаккуратно сделанные шаблоны к сайту на smarty. Шаблонов много. Суть "неаккуратности" - встречается не вынесенный в конф файлы текст - а на сайте подразумевалась мультиязычность. Вот теперь бы и "выдрать" текст со страниц между тэгами - не задев структуру смарти. А потом "загнать" его обратно - но уже в виде констант с названием цельных строк.
Вот регулярочка "на доставание" текста и пригодилась бы.
Остальное сделаю сам.
На первый взгляд что-то похожее:
но ищу более "удобные" варианты. + еще очень бы не хотелось забирать то - что между <script></script> помещается.
Пример:
Код:
<div>I need some text {if $here == true}{$here}{/if} bellow {$unique}</div>
Код:
1.I need some text
2. bellow
Не задев конструкции смарти.
и не трогая html теги.
Получив на выходе "массив" текста в текущем теге страницы, и, в частности, разбитый по значениям - если там есть смарти конструкция внутри.
Суть вопроса - "приехали" неаккуратно сделанные шаблоны к сайту на smarty. Шаблонов много. Суть "неаккуратности" - встречается не вынесенный в конф файлы текст - а на сайте подразумевалась мультиязычность. Вот теперь бы и "выдрать" текст со страниц между тэгами - не задев структуру смарти. А потом "загнать" его обратно - но уже в виде констант с названием цельных строк.
Вот регулярочка "на доставание" текста и пригодилась бы.
Остальное сделаю сам.
На первый взгляд что-то похожее:
PHP:
preg_match_all("'((<[\/\!]*?[^<>]*?>)|(\{[^\{\}]*?\})!?[\s]*)*?([^<>\{\}]*?)+(!?[\s]*(<[^<>]*?>)|((\{[^\{\}]*?\})))*?'Uis",$res,$matches,PREG_PATTERN_ORDER);
но ищу более "удобные" варианты. + еще очень бы не хотелось забирать то - что между <script></script> помещается.