• ベストアンサー

PHPで空行を作る

スレッド掲示板を作成しています。 掲示板の投稿への返信を表示する際に、その返信の頭にそれぞれが返信した投稿よりも一段、頭をさげるために空行を追加したいと考えています。 下記のような状況です。 このような処理はあくまでPHPではどのように行えばよいでしょうか? ご享受ください。 ・コメント1        ・コメント2(コメント1への返信)           ・コメント3(コメント2への返信)     ・コメント4(コメント1への返信)

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.4

>この処理はPHPで行うことができないでしょうか? スペースでインデントするのであれば、その領域のfont-familyをmonospaceにする手はあります <style> .toukaku{ font-family:monospace; } </style> <div class="toukaku"> あああ<br>  いいい<br>   ううう<br>  えええ<br> </div> もちろん、他の方が指摘するよう文書を構造的に形成した方がよいですが とりあえずはこういうやり方もあるという例として

その他の回答 (4)

  • ahoo_ok
  • ベストアンサー率31% (30/95)
回答No.5

そういうのはhtmlタグの<ul>と<li>を利用する。

  • t_ohta
  • ベストアンサー率38% (5292/13825)
回答No.3

> CSSで行うとコメントが増えた場合に対応できないと思うのですが、 > この処理はPHPで行うことができないでしょうか? A No.1、A No.2 の両方で書かれている HTML と CSS で対応できますよ。 mrgin-leftが設定されている要素を入れ子にしていけば、コメントが何段ネストしても問題ありません。

  • agunuz
  • ベストアンサー率65% (288/438)
回答No.2

「phpでは」でなく、「htmlでは」どうすればいいかを考えてください。phpがブラウザに返すのはhtmlソースですから。 コメント表示前にdiv要素(左マージン指定)で括って、最後にまとめてdiv要素を閉じればいいと思います(div要素に直接書かずにclass指定でも可)。 <div style="margin-left:20px"> コメント1 <div style="margin-left:20px"> コメント2 </div> </div> あるいはマージンの値を自分で(計算して)書き替えてもいいですが、こちらはdiv要素に書くしかなくなります。 <div style="margin-left:20px"> コメント1 </div> <div style="margin-left:40px"> コメント2 </div> どちらかといえば前者を推奨。

kokoko69
質問者

補足

ご回答ありがとうございます! CSSで行うとコメントが増えた場合に対応できないと思うのですが、 この処理はPHPで行うことができないでしょうか?

  • coai
  • ベストアンサー率50% (152/301)
回答No.1

頭下げですかね?空行ですかね? 例を見る限り、空行ではなくたぶん頭下げですね。 まあ、どっちにしてもどういうHTMLを出力するかという、あくまでHTML、あるいはCSSの問題だと思いますよ。 PHPについて考えるのは、そのHTMLをどうやって出力するかという、次のステップでしょうね。 たとえば… <div class="thread"> ・コメント1 <div class="thread"> ・コメント2(コメント1への返信) <div class="thread"> ・コメント3(コメント2への返信) </div> </div> <div class="thread"> ・コメント4(コメント1への返信) </div> </div> cssで .thread{ margin:10px 0 10px 40px; } とでもすればいいかな? 適当に書いて未検証だけど。 人によっては、divじゃなくてulの方がいいとか、marginじゃなくてpaddingの方が等、色々意見はあるだろうけど、適当に書いただけなのでその辺は勘弁。 ま、空行や空白文字を追加するというPHP側のアプローチで、見た目をコントロールしようというのは違うでしょうね。 あと、次のステップのPHPコードを書く際には、頭下げ処理の際に再帰処理の知識が必要かな。 どういうデータ保持しているかどうか判らないので、再帰で調べてくれとしか言えんが。

kokoko69
質問者

補足

ご回答ありがとうございます! 回答者様のおっしゃる通り、「頭下げ」になるかと思います。 cssでデザインを変更する場合、 コメントが4,5,6と増えていった場合にその都度編集が必要になってしまいますか? その場合、大変手間がかかるのでPHPで処理を行いたいと考えています。 言葉足らずで大変失礼いたしました。

関連するQ&A