• ベストアンサー

PHPで出力したHTMLのソースが汚い

ただいまPHPを勉強中の者です。 PHPでHTMLを書き出してみたのですが、ソースが改行もインデントもされておらず非常に見にくくてなってしまいました。 改行は\n、インデントは\tを入れればよいというところまでは調べたのですが、それではphpのソースが\tだらけになってしまうのでは、、、と思っています。 みなさんがPHPでHTMLを書き出すときに効率良くきれいなHTMLソースにするために行っている方法を教えて頂きたく思います。 何卒よろしくお願いします。

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

  • ベストアンサー
  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.4

スルーされてちょっと悲しいので頑張って書きます;w; ホームページ系の作成ならHTMLコードは綺麗にした方がよいです。 見やすくなるだけではなく、改行コードのあるなしでデザインが狂ってくるからです。 改行やタブスペースがあると不便なことが多いかもしれませんが、 改行がないと構文チェックで怒られる(減点される)ような類もあります。 そんな時にHTMLコードの視認性が悪いと対応が困難となります。 またロジックと表示を分けることにより、HTML、XHTML、CSSに詳しい デザイナーさんとの作業分担が容易になる利点があります。 例で書いたようなPHPがもつテンプレート機能?や Smarty、PHPTALなど利用すると幸せになれると思います。

polalal
質問者

お礼

スイマセン!PCが起動しなくなって再インストールしてました。 お礼が遅くなってしまい大変申し訳ありません。。。 テンプレートエンジン、初めて知りました。なかなか難しそうですがトライしてみます。詳しく教えていただきありがとうございました。

その他の回答 (3)

  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.3

ソースの汚れでお悩みのあなたに、テンプレート分離。 テンプレートエンジンなんてものが色々ありますが、まずは簡単なとこから。 === index.php ( アクセスするファイル ) <?php $num = 1; $name = 'hogeeee'; $list = array(1, 2, 3, 4, 5); include 'template.phtml'; ====== template.phtml ( テンプレート ) <html> <body> <? if ($num == 1): ?> <h1><?= $name ?></h1> <? endif; ?> <ul>  <? foreach ($list as $data): ?>  <li><?= $data ?></li>  <? endforeach; ?> </ul> </body> </html>

polalal
質問者

お礼

スイマセン!PCが起動しなくなって再インストールしてました。 お礼が遅くなってしまい大変申し訳ありません。。。 テンプレートエンジン、初めて知りました。なかなか難しそうですがトライしてみます。詳しく教えていただきありがとうございました。

回答No.2

私は、HTMLソースに改行やインデントを付ける必要性を感じていません。 PHPソースさえ見易く、構造化されていれば、問題ないのではないでしょうか? 開発現場でも、PHPソースの見易さ、オブジェクトの論理性は求められますが、HTMLソースの見易さを求められたことはありませんが・・・ 質問への答えになっていませんね。すみません。

polalal
質問者

お礼

そうなんですか?それは知らなかったです。 専門家の方のご意見、ありがとうございます。

回答No.1

PHPはPerlCGIと違って必要な部分だけPHPで書けませんでしたっけ? SSIみたいな感じに

polalal
質問者

お礼

はい、たしかにPHPは必要な部分だけ書けるのですが、現在制作しているサイトはPHPでHTMLを書き出さなくてはいけない箇所が非常に多いのです。 ほとんどのHTMLをPHPで書き出すようになっており、結果ソースが汚くなっている現状なのです。

関連するQ&A