よろしくお願いいたします。
php
にて、echo
やprint
を使用して文章を開業したいときに、<br>
ではなく、
\n
もしくは\r
での改行はできますでしょうか。
先ほど、ブラウザで確認しましたが、スペースが空いたのみで改行されませんでした。
アドバイスのほどいただけますと幸いに存じます。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
ベストアンサー
web サーバ経由で php が実行された場合は、特別なことがない場合 Content-type: text/html
で出力され、ブラウザでは html として解釈されます。
html では、改行コードを含む、「U+0009 TAB (タブ), U+000A LF (改行), U+000C FF (頁送り), U+000D CR (復帰), U+0020 SPACE (空白) の5文字」を ホワイトスペースとして扱います。
ブラウザ上で、html として解釈されたホワイトスペースは、空白文字として扱われ、連続したホワイトスペースは多くの場合、1文字の空白にまとめられます。
ここまでが質問内容の整理と説明ですね。
で、要件を
- phpにて、echoやprintを使用して文章を開業したいときに、<br>ではなく、
\nもしくは\rでの改行したい
- ブラウザを使用して表現したい
と読み替えると、回答は
- ブラウザに該当箇所が整形済みテキストであると解釈させれば良い
ということになります。
具体的には、すでに回答がついている「<pre>」を使用する方法の他に、Content-type: text/plain
として出力してやる、ちょっと変わった方法が考えられます。
php
1<?php 2header("Content-type: text/plain"); 3echo "test\ntest";
投稿2020/07/04 09:39
退会済みユーザー
総合スコア0
0
「改行コード」というものです。
ブラウザから実行確認する限り「HTMLタグ」以外は単なるテキストです。
CLI実行であれば改行コードはその「改行」の役割を果たしますが、
ブラウザから実行確認では基本的にインデント含めたHTMLの見た目を整える以外では意味がないと言っても良いと思います。
なので、ブラウザから確認した際も「ソースを表示」でHTMLを確認すると、「PHPの出力結果」が見れるので一応改行していることが確認できます。
ただし、HTMLタグではないのでブラウザ上ではその効果はありません。
投稿2020/07/04 09:07
編集2020/07/04 09:10総合スコア80875
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/07/04 10:15
0
ブラウザでは\r\nでの改行はできませんね。
すなおに<br>使っておきましょう
投稿2020/07/04 09:09
総合スコア88042
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/07/04 10:15
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/07/04 10:14
退会済みユーザー
2020/07/04 10:37