プロが教えるわが家の防犯対策術!

以下ですが! \n" がある場合とない場合表は同じく表示されます。
著書には\n"があります。なぜ必要なのでしょうか?
 よろしくお願いいたします。
<!DOCTYPE html>
<html>
<head>
<title>エスケープシーケンスを使う</title>
</head>
<body>
<?php
print "<table border=\"2\">\n";
print "<tr bgcolor=\"#AAAAAA\">\";
print "<th>英語</th>\n";
print "</tr>\n";
print "<tr>\n";
print "<td>\"Hello!\"</td>\n";
print "</tr>\n";
print "<tr>\n";
print "<td>\"Good Bye!\</td>\n";
print "</tr>\n";
print "</table>\n";
?>

</body>
</html>
-----------------------------------------------------
<!DOCTYPE html>
<html>
<head>
<title>エスケープシーケンスを使う</title>
</head>
<body>
<?php
print "<table border=\"2\">";
print "<tr bgcolor=\"#AAAAAA\">";
print "<th>英語</th>";
print "</tr>";
print "<tr>\n";
print "<td>\"Hello!\"</td>";
print "</tr>";
print "<tr>";
print "<td>\"Good Bye!\</td>";
print "</tr>";
print "</table>";

??>

</body>
</html>
-----------------------------------------------

A 回答 (4件)

HTMLでは改行コードは関係ないので。


改行コードがないほど、クライアントのレスポンスデータのバイトとしては少ないですね。
できあがったページのソースを見てみたらいかがですか?
タグが改行されているかいないかだけの違いです。

必要が必要でないかと言われたら必要がではありません。
実装する上でのルールとしてどうするかだけです。
まぁ、正直そうやってプログラムによって動的に切り替わる部分に、明示的に改行コードを入れるのは、改行コードを入れるということ自体が面倒になると思います。
それが何か意味あるわけではないので。
    • good
    • 2
この回答へのお礼

ご回答くださいましてありがとうございました。
「改行コードがないほど、クライアントのレスポンスデータのバイトとしては少ない」
蛇足はレスポンス低下となる。
phpでの表の改行ですが
<tr>テーブル行の開始タグのみで
</tr>の終了タグなしでもOK
との結果となりました。
以下参考でが同じ結果となりました。
まだ改善の余地があると思いまが?

<!DOCTYPE html>
<html>
<head>
<title>エスケープシーケンスを使う</title>
</head>
<body>

<?php
print "<table border=\"2\">";
print "<tr bgcolor=\"#AAAAAA\">";
print "<th>英語";

print "<tr>";
print "<td>\"Hello!\"";

print "<tr>";
print "<td>\"Good Bye!\"";


?>

</body>
</html>

お礼日時:2018/07/09 06:05

多くのブラウザに実装されている右クリックしてソースを表示する際


見やすいからですね。
みやすさが必要ないならわざわざprintだって複数行にわけて表示せず
一気に書いた方が効率的です。
    • good
    • 1
この回答へのお礼

ご回答くださいましてありがとうございました。
「右クリックしてソースを表示する際見やすい」?

著書が基礎の本なので「print」がたくさん出てきます。
レベルが中ぐらいだとまとめて表示ができますね!
了解です。

お礼日時:2018/07/11 18:00

> <tr>テーブル行の開始タグのみで


> </tr>の終了タグなしでもOK
これはW3Cに即したレンダリングの問題であり、PHPは無関係です。

W3C日本語訳 tr要素
https://momdo.github.io/html5/tabular-data.html# …

個人的には開始タグ、終了タグが明確に存在するタグについては、省略可能だとしても、終了位置が不明瞭になるため、省略しない手段を取ります。
これは静的HTMLでも同じことで、どう記述するかです。

改行コードは、いくらPHPで明示的に記述していたとしても、PHPのコードとして何か分かりやすくなるわけでもなんでもないですからね。
出来上がったHTMLを確認しやすくするため、という理由があれば改行コードを入れてもいいと思いますが、コードする上で絶対に改行コードいれろよ!と言っても、PHP上では逆にその文字がいちいち邪魔だし、チームでは言うこと聞かない人間も多くいるということです。
    • good
    • 1
この回答へのお礼

ご回答くださいましてありがとうございました。
「PHP上では逆にその文字がいちいち邪魔だし、チームでは言うこと聞かない人間も多くいるということです。」
そうなんですね!
「この場合 \n" はプログラムに別条がないが慣例で入れるている」私的にはレスポンス優先なのでいれません。

お礼日時:2018/07/11 18:13

原則と実態の相違



プログラムを実装する場合、原則は大事だが原則にだけ従えば結果がいまいちでも構わないとはならない
ユーザーの手抜きに対してもある程度対応する事ができないとならない
表記の揺れとも言うけど
    • good
    • 1
この回答へのお礼

早々ご回答くださいましてありがとうございました。
「ユーザーの手抜きに対してもある程度対応する」
なるほどですね・・・・
ある程度のミスもコンピュータが修復してくれているのかもしれませんね!
なので、原則である\n"は付けていたほうが無難とのご回答だと思います。

お礼日時:2018/07/08 17:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!