2016-04-14 106 views
-1

は、ここで私は成功し、それが{assign var="options" value=","|explode:$myStr}SMARTY:Smartyテンプレートの文字列の先頭または末尾の空白を削除しますか?

しかし、私はまた、それを出力する際に​​、各文字列から先頭や末尾に空白文字を削除したい爆発ができましカンマ(、)で区切って、私の文字列 $myStr = "One, Two,Three, Four , Five ,Six "

です。言い換えれば、SMARTYの機能は、PHPの組み込みのtrim($mystr)機能に相当します。 PHPトリムは、存在する場合は開始と終了の空白を削除し、そうでない場合は実際の文字列を返します。

One 
Two 
Three 
[whitespace]Four[whitespace] 
[whitespace]Five[whitespace] 
Six[whitespace] 

私は空白をトリムするにはどうすればよい:

{section name=myname loop=$options} 
    {$options[myname]} 
{/section} 

上記のコードを出力しませんか?

+2

trim($ varName)を使用します。 – RJParikh

+2

重複してください:http://stackoverflow.com/questions/1279774/to-strip-whitespaces-inside-a-variable-in-php – RJParikh

+0

いいえ、それは重複していません。どちらも異なる質問です。私の関心事は、**開始**と**終了**の位置でのみ空白を削除しようとしています。あなたが言及した質問は、文字列からすべてのスペースを削除することです。 –

答えて

4

。 タグ間で空白が削除されます。

{$var|substr:0:-1}は、空白文字の最後の文字を削除します。 {$var|substr:1}はstringから最初の文字を削除します。

全てのPHP関数が暗黙的修飾子として使用することができる

(より)と 修飾子はSmartyのにdocs{$var|trim}から

を組み合わせることができるPHPでtrim($var)に等しいです。

別の方法があります。 {php}{/php}タグを使うと、便利なPHPを組み込むことができますtrim()機能が、私には意味がありません。なぜ、それがphpにインクルードされていれば、あなたは素晴らしい変数をPHPに戻したいのですか?ナンセンス。

+0

ありがとうございました。しかし、それは文字列内のすべてのスペースを削除します。文字列の両端から空白を削除したい。 –

+0

check編集の回答 –

+0

もう一度ありがとうございます。しかし、終わりに空白が表示されない場合は、文字列の最初と最後の文字が削除されます。私はトリム($ mystr)のPHP quilentを探しています。PHPトリムは、現在の文字列があればそれを削除し、そうでなければ実際の文字列を返します。 –

0

空白がスペース文字のように空白文字だけの場合は、関数trim()Docs)を使用して空白文字を取り除くことができます。 $options[myname]trim($options[myname])に置き換えてください。

それが文字列 "[空白]" なら、あなたは次のようにpreg_replace()Docs)を使用することができます:Smartyの中{strip}{/strip}がありpreg_replace("/[whitespace]/","",$options[myname])

+0

私はこれを行うためにPHPで知っています。しかし、私の質問はSMARTYです。 –

関連する問題