- ベストアンサー
Smartyで吐き出されたhtmlソースの改行
- Smartyのテンプレートファイルを実行した場合に、改行が効かない不具合が発生しています。
- ソースコードの改行を保持する方法はあるのか疑問です。
- ブラウザに表示される内容ではなく、ソースコードにおいて改行を適用したいと考えています。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ん~、では他にも方法があるかもしれませんが、とりあえず目的を達成するために {if $a == $a}{php} echo "\naaa\n";{/php}{/if} でいけると思います。 参考URLはSmartyドキュメントです。
その他の回答 (3)
- maguro999
- ベストアンサー率21% (59/273)
>phpファイル、tplファイルともに文字コードはEUC、改行コードはLFにしています。 まさかと思うけど出力されたHTMLのソースをメモ帳などのEUCコード(開業コード→\n)で見ているなんてことないですよね?
補足
意味が良く分からないのですが、 HTMLソースを開き、改行コードを調べるとCRLFになっていました。 phpファイルやtplファイルはLFなのになぜでしょう? 開発環境がWindows+XAMPPだからでしょうか? また {php}echo "\n";{/php} を挿入しないで1行として表示された箇所のソースを調べても LFだけの改行コードが挿入されている痕跡はありませんでした。
- maguro999
- ベストアンサー率21% (59/273)
テンプレートの文字(改行)コードは何?
補足
phpファイル、tplファイルともに文字コードはEUC、改行コードはLFにしています。
- _chihiro_
- ベストアンサー率63% (26/41)
未確認ですが、 000 {if $a = $a}\naaa\n{/if} 111 としてみはどうでしょう? ちなみにif文の if $a = $a というのは、 if $a == $a の間違いではないのでしょうか?
補足
>000 >{if $a = $a}\naaa\n{/if} >111 \nを入れるとソースでも\nがそのまま表示されています。 改行コードとは認識していないようです。 >if $a = $a すいません。 タイポでした。
お礼
ありがとうございました。 $securityをfalseにする必要がありましたが、 実現はできました。 もうしばらく別の解決法を募集したいと思います。