• ベストアンサー

PHPで"\n"を使って、改行できますか?

いつもお世話になっております。 PHPの解説書などを読みますと、例えば print('最初の行'); print("\n"); print('最後の行'); のように書くと、改行されますと書いてありますが、一般的には<br>などを入れなければ改行できないと思うのです。 そういった解説書も、当然html内にソースを書いて、Webサーバーにアップし、ブラウザで読み込むという環境下で解説されています。 上記の環境で "\n" を使って改行できる状況というのはどういう場合なのでしょうか? わたしはいままで一度も改行されたことがないのですが。

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

  • ベストアンサー
回答No.1

改行はされていますよ。 phpコマンド等で出力させてみればわかります。 ただし,WebサーバーからHTMLファイルを返すような場合, 改行はHTMLファイルのソース上に入ります。 ブラウザはこの改行をpre要素またはtextarea要素の内容として出てきた場合のみ改行としてレンダリングし,それ以外の場合は空白扱いにしかしません。 # textarea要素の内容の改行がtextareaの表示上改行になるとは仕様はいっていなかったりはしますが……。

kirakuniOK
質問者

お礼

ありがとうございました。

kirakuniOK
質問者

補足

ご回答有難うございます。pre要素、textarea要素に関してのご説明大変参考になりました。 ただ、解説書によっては「html内に記述し、Webサーバーにアップし、ブラウザで読み込む」という環境で "\n" で改行されますと書いているのです。 質問文に書いたコードを、「html(の<body>タグ直下)内に記述し、Webサーバーにアップし、ブラウザで読み込む」という環境下に限定して(書物がそうなってます) "\n"を使っても改行できるということはあるのでしょうか? そのような書き方をしている書物は間違っていると考えてもよろしいでしょうか?

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.2

紛らわしいとは思いますが,間違っているとも言い切れません。 というのは,サーバーから返される文字列上は間違いなく改行されているからです。 文中に,表示上改行されると明記されていたのでしょうか。 そうであれば間違いと言ってよいでしょう。 そうでないのであれば,言葉が少なすぎる,ということになるのだと思います。

kirakuniOK
質問者

お礼

なるほど、ソースを読むと改行されてますね。そういった意味だったのかも知れません。 若干言葉足らずな書物なのかも知れませんね。大変お手数をお掛けして恐縮です。 二度ものご回答ありがとうございました。感謝いたします。

すると、全ての回答が全文表示されます。

関連するQ&A