- ベストアンサー
HTML::Templateの空行について
HTML::Templateを利用しています。 テンプレート側で<TMPL_IF>を使用すると、不要な改行が入ってしまい、困っています。 ■テンプレートサンプル---------------------------- <div> あああああああああああ </div> <TMPL_IF NAME="PATERN_A"> 出力パターン1<br> <TMPL_ELSE> 出力パターン2<br> </TMPL_IF> <TMPL_IF NAME="PATERN_B"> 出力パターン3<br> <TMPL_ELSE> 出力パターン4<br> </TMPL_IF> <div> いいいいい </div> ■出力結果---------------------------- <div> あああああああああああ </div> ←空行 出力パターン2<br> ←空行 ←空行 出力パターン3<br> ←空行 <div> いいいいい </div> 実害はないのですが、この空行をなくすことはできないでしょうか。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
outputした後に空行だけを削除すればいいのではないでしょうか。 $html = $template->output; $html =~ s/\n\n/\n/g; print $html; ドキュメント全体で一律空行が削除されますが、<pre>などを使っている場合以外は特に問題はないはずです。
その他の回答 (2)
- fumufumu_2006
- ベストアンサー率66% (163/245)
bgbgさん、あるんですよ・・・ <textarea></textarea>の間に、空白行を含む文字列がある場合ですが・・・ これが致命的だった事があったりして・・・ 確かに普通は気にすることは無いと思います。
お礼
逆に言えば、<textarea></textarea>がある場合に気をつければ良い ということですよね。 うまくいきそうな気がしてみました。 ありがとうございます。
- fumufumu_2006
- ベストアンサー率66% (163/245)
気に入らないとは思いますが・・・ <div> あああああああああああ </div> <TMPL_IF NAME="PATERN_A">出力パターン1<br><TMPL_ELSE>出力パターン2<br></TMPL_IF> <TMPL_IF NAME="PATERN_B">出力パターン3<br><TMPL_ELSE>出力パターン4<br></TMPL_IF> <div> いいいいい </div> ではどうでしょうか。 まあ、いろんなホームページで、「表示」「ソース」で見ると、すごい空白があるページが沢山ありますから、開発者も閲覧者も見えない改行くらい多めに見てあげても良いんじゃないでしょうか・・・ p.s. でも思わぬ影響があるのが携帯版ページで、たいしたデータ量でないはずなのに、表示が遅かったり、エラーになったりする場合が・・・
お礼
返信が遅れまして申し訳ありません。 そうですよねー。 それしかないですよねー。 多めに見て欲しいですよねー。 クライアントからSEO上に不利になるから何とかしろというお達しが でまして。 個人的には、SEO上の影響は大してないと考えているのですが、 明確な反論資料もないもので、弱ってます。 ありがとうございました。
お礼
ああ。なるほど。 その手がありますね。 何とか解決しそうな気がします。 ありがとうございました。