[PHP-users 29334] Re: smartyでのreplaceの挙動について

M.Terao mayo @ b-gets.ddo.jp
2006年 6月 4日 (日) 10:20:18 JST


初めまして、寺尾です。

いまいちどのような処理したいのか見えてこないのですが、

私の環境
「PHP 5.1.2」
「Smarty 2.6.13」
では、
25日→1末日日末日日
翌5日→翌末日日
になりましたね。

5の置換が二つ設定されているのがいまいちわからないのですが、
6の間違えなのかな?

挙動が不思議ですね。
25日→15日末日日
になるのが正常のような気がするのですが、
仕様なのかどうかはわかりませんが、
変換後の5も再度置換してしまっていますね。

ちょっとスマートではないですけど
ifで書くって言うのしか今は思いつきません。



> お世話になります。古城です。
> Smartyでreplaceを使用してテンプレートで
> 数値データを文字データに変えて表示しています。
> 
> 例:{$data|replace:"1":"10日"|replace:"2":"15日"
> |replace:"3":"20日"|replace:"4":"25日"|replace:"5":"末日"
> |replace:"5":"翌5日"}
> 
> しかし""内の置き換え文字の数値を全て半角で書くと
> "25日"→"2末日日"
> "翌5日"→"翌末日日"と変換されるのは仕様ですか?
> 全角で書けば問題ないですが表示的にちょっと・・・
> という面があります。
> 
> あとはPHPで整形してしまってから表示するくらいしか
> 思いつきませんが、どなたかsmartyを使ったままで
> 良い解決法をご存知の方はいらっしゃいませんか?
> 
> 
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3




PHP-users メーリングリストの案内