PHPでfor文などを使ってHTMLを動的に作成すると、インデントが崩れてしまい、どうにも読みづらいです。
コメントを入れてもいいのですが、根本的な解決がしたいのですが、動的に作成したコードを整形する方法などありませんか?
ご存知の方回答よろしくおねがいいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
「デバッグ時に読みづらい」ということであれば、我らの味方、Google Developer Toolsを使いましょう。Google Chromeで開いて、右クリックから「検証」を押せば、きれいに整形されたHTMLが見えます(ほかのブラウザにも多かれ少なかれ、デバッグ機能があります)。
「実際にユーザーへ届くHTMLのインデントが崩れている」という問題については、気にしないのが正解です。むしろ、余計な改行や空白を削って1バイトでも容量を削減する、ということが行われることもあります。
もし、「PHPで生成したHTMLをファイルに保存して手作業での編集など別な目的に使うので、きれいに出力したい」というのであれば、それ用にフォーマッターを入れる、というのが適当だと思います。
投稿2017/02/14 10:20
総合スコア145201
0
どのような書き方しているのかわからないですけど
普通に書いていれば問題ないと思いますよ。
以下試しに書いてみました。
php
1<?php 2$entities = [ 3 ['id' => 1, 'name' => 'なまえ1'], 4 ['id' => 2, 'name' => 'なまえ2'], 5]; 6?> 7<div class="container"> 8<?php if ($entities) : ?> 9 <table> 10 <thead> 11 <tr> 12 <th>ID</th> 13 <th>名前</th> 14 </tr> 15 </thead> 16 <tbody> 17<?php foreach ($entities as $entity) : ?> 18 <tr> 19 <!-- id --><td><?= number_format($entity['id']) ?></td> 20 <!-- name --><td><?= htmlentities($entity['name']) ?></td> 21 </tr> 22<?php endforeach; ?> 23 </tbody> 24 </table> 25<?php else : ?> 26 <p>表示できる情報がありません</p> 27<?php endif; ?> 28</div> <!-- /.container -->
html
1<div class="container"> 2 <table> 3 <thead> 4 <tr> 5 <th>ID</th> 6 <th>名前</th> 7 </tr> 8 </thead> 9 <tbody> 10 <tr> 11 <!-- id --><td>1</td> 12 <!-- name --><td>なまえ1</td> 13 </tr> 14 <tr> 15 <!-- id --><td>2</td> 16 <!-- name --><td>なまえ2</td> 17 </tr> 18 </tbody> 19 </table> 20</div> <!-- /.container -->
投稿2017/02/14 10:20
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。