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

フォームからの入力の際に、都道府県の一覧をfile関数で読み込んでいた。
入力フォーム自体の出力はSmartyのテンプレートで。

表示自体は問題なかったが、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}に都道府県名が入るんだけど、コード上で改行されてしまった。このまま確認メールなどを送信するとメール中でも改行してしまう。

これを解消したくて、いろいろ調べたらステキなサイトが・・・
もっと前に知っておきたかった!と思うSmartyのTips

上記の都道府県を表示する{$val}という変数を

{$val|trim}

とすることで、trim関数が使えるらしい。おかげで改行を削除することができた。