Удаление пробелов из шаблонов smarty из PHP

Есть ли способ сообщить Smarty из PHP, что вы хотите, чтобы он разделил все пробелы в шаблонах перед отправкой в ​​браузер, как если бы все ваши шаблоны были встроены в теги {strip}? Какой-то параметр объекта Smarty или что-то еще?

Related of "Удаление пробелов из шаблонов smarty из PHP"

В вашей плагине Smarty есть фильтр, который можно легко адаптировать к задаче: это outputfilter.trimwhitespace.php .

Просто добавьте строку

 $source = preg_replace("`\s+`ms", " ", $source); 

(из сообщения форума, связанного Мартином) в строке 51, а затем вызывать выходной фильтр.

Преимущество состоит в том, что указанный фильтр выполняет приятную работу по сохранению, а затем восстанавливает блоки кода, где вы можете оставить одиночное пространство внутри – внутри сценариев , элементов pre и textarea (я также добавлю элемент кода в список).

Ниже приведена самая последняя реализация выходного фильтра trimWhitespace от smarty 3.1, который, похоже, делает то, что вы хотите.

необработанный файл: http://smarty-php.googlecode.com/svn-history/r4136/branches/Smarty_3_1_cleanup/distribution/libs/plugins/outputfilter.trimwhitespace.php

исходный браузер: http://code.google.com/p/smarty-php/source/browse/branches/Smarty_3_1_cleanup/distribution/libs/plugins/outputfilter.trimwhitespace.php?r=4136

Вы можете создать и зарегистрировать выходной фильтр, чтобы сделать это; в выходном фильтре вы можете использовать, например, эту функцию, чтобы вырезать ненужные пробелы.

Вот еще один выходной фильтр для выделения пробелов.

http://www.smarty.net/forums/viewtopic.php?t=25&sid=26a10d55ac90d50dca7914e33fdc6fa1