{strip}
<div
class="x"
>
{/strip}
<divclass="x">
這是不是有人想什麼。
所以,問題:有沒有什麼辦法可以解決這個問題?想象的方法:
- 用空格代替新線路,使用他們的論壇trimed
This topic未剝離的參數或其他智者,功能
{strip}
<div
class="x"
>
{/strip}
<divclass="x">
這是不是有人想什麼。
所以,問題:有沒有什麼辦法可以解決這個問題?想象的方法:
This topic未剝離的參數或其他智者,功能
您可以用@開發的方法和capture你的數據去,並通過strip modifier運行:
{capture name="spaces"}
<div
class="x"
> ... </div>
{/capture}
{$smarty.capture.spaces|strip:" "}
或運行通過採集內容regex_replace modifier(本質上與拆分相同,但具有更多開銷):
{$smarty.capture.spaces|regex_replace:"#\s+#":" "}
或下降一個新的名爲custom block plugin是trimwhitespace利用了outputfilter trimwhitespace的:
<?php
function smarty_block_trimwhitespace($params, $content, Smarty_Internal_Template $template, &$repeat)
{
require_once SMARTY_PLUGINS_DIR . 'outputfilter.trimwhitespace.php';
return smarty_outputfilter_trimwhitespace($content, $template->smarty);
}
調用這個文件block.trimwhitespace.php,並將其放置在插件目錄。用它在你的模板:
{trimwhitespace}
<div
class="x"
> ... </div>
{/trimwhitespace}
雖然這兩種方法修改將工作的優良簡單的HTML的東西,他們會打破內容包括<script>
或<pre>
標籤。如果你需要這些,你想使用包裝的輸出過濾器。
如果您希望所有輸出都通過該篩選器運行,請不要更改您的模板並將$smarty->loadFilter('output', 'trimwhitespace');
添加到您的設置中。
tnx精心製作答案! – c69
代碼分配給一個變量,並嘗試{$articleTitle|strip:' '}
保護個人空間:
{strip}
<div class="first{" "}
{"second "}
third">
{/strip}
成爲
<div class="first second third">
工作正常,我使用Smarty V3。
也適用於Smarty v2。 –
謝謝,你是否知道是否可以避免在每個模板中執行它,而是在'header中頂部。tpl'並在'footer.tpl'的底部。看來Smarty標籤不是通過模板傳輸的? –
[It should not。](http://www.smarty.net/docs/en/language.modifier.strip.tpl) –
@Tomalak Geret'kal a ** function ** [strip](http ://www.smarty.net/docs/en/language.function.strip.tpl),不是一個修飾符;) – c69
親愛的@ c69,我編輯了你的問題,因爲我遇到了同樣的問題,但「把新行變成了空格「並沒有出現在我的腦海中作爲一個搜索查詢。希望沒關係。 –