Smartyで¥nなどの改行コードを取り除く

スポンサーリンク

入力フォーム自体はSmartyのテンプレートで出力。フォーム中のドロップダウンリストの値は、file関数で読み込んでいました。

file関数で読み込んだ値の表示自体は問題なかったんですが、foreach関数で値を出力する際に改行コードが入ってしまい、trim関数を使うも、うまく除去できず・・・

いろいろ調べたら、Smartyのテンプレート上でもPHP関数が使えることが分かりました。

ドロップダウンリストは、以下のようにして読み込んでいたんですね。

$kenlist = file(“conf/ken_list.txt”);
trim($kenlist);
$tpl -> assign(“KEN”,$kenlist);

Smartyテンプレート側では、

{foreach from=$KEN key=key item=val}
<option value='{$key}’>{$val}</option>
{/foreach}

といった感じで記述。

{$val}に読み込んだ値が入るんだけど、コード上で改行されてしまうので、改行コードを上手く除去したいと思い、いろいろ調べたら下記のように記述することで問題が解消。

{$val|trim}

{$val}という変数内で、trim関数を記述することで実行されることが分かりました。上記の記述で改行コードが削除することができました。

タイトルとURLをコピーしました