【发布时间】:2010-08-24 16:03:36
【问题描述】:
有没有办法告诉 PHP 中的 Smarty,您希望它在发送到浏览器之前去除模板中的所有空格,就好像所有模板都嵌入在 {strip} 标签中一样?某种 Smarty 对象参数之类的?
【问题讨论】:
有没有办法告诉 PHP 中的 Smarty,您希望它在发送到浏览器之前去除模板中的所有空格,就好像所有模板都嵌入在 {strip} 标签中一样?某种 Smarty 对象参数之类的?
【问题讨论】:
在您的 Smarty 插件文件夹中,有一个可以轻松适应任务的过滤器:它是 outputfilter.trimwhitespace.php。
只需添加一行
$source = preg_replace("`\s+`ms", " ", $source);
(来自 Martin 链接的论坛帖子)在第 51 行,然后调用输出过滤器。
优势在于,所述过滤器可以很好地保存然后恢复您可能希望单独留下空白的代码块 - 在 script、pre 和 textarea 元素(我也将 code 元素添加到列表中)。
【讨论】:
这是 smarty 3.1 中 trimWhitespace 输出过滤器的最新实现,它似乎可以满足您的需求。
【讨论】:
您可以创建并注册一个output filter 来执行此操作;在输出过滤器中,您可以使用例如this function 去除不需要的空格。
【讨论】:
【讨论】: