PHP/HTML を使用して空白の書式を維持するにはどうすればよいですか?
質問
ファイルからテキストを解析し、文字列に保存しています。問題は、元のファイルのテキストの一部に次のものが含まれていることです。 ASCII art
そして私が守りたいもの。文字列を出力すると、 HTML page
, たとえそれが同じ書式設定とすべてのものを持っているとしても、 HTML
, 、スペースと改行は保持されません。テキストを印刷する最良の方法は何ですか? HTML
元のテキスト ファイルとまったく同じでしょうか?
例を挙げたいと思いますが、残念ながら、このマークダウン エディターでは正しく表示できませんでした:P
基本的には表示方法についての提案が欲しいです ASCII art in HTML
.
解決
<pre> タグ (フォーマット済み) を使用します。これにより、等幅フォント (アート用) が使用され、すべての空白が保持されます。
<pre>
text goes here and here
and here and here Some out here
▄ ▄█▄ █▄ ▄
▄█▀█▓ ▄▓▀▀█▀ ▀▀▀█▓▀▀ ▀▀ ▄█▀█▓▀▀▀▀▀▓▄▀██▀▀
██ ██ ▀██▄▄ ▄█ ▀ ░▒ ░▒ ██ ██ ▄█▄ █▀ ██
█▓▄▀██ ▄ ▀█▌▓█ ▒▓ ▒▓ █▓▄▀██ ▓█ ▀▄ █▓
█▒ █▓ ██▄▓▀ ▀█▄▄█▄▓█ ▓█ █▒ █▓ ▒█ ▓█▄ ▒
▀▒ ▀ ▀ █▀ ▀▒ ▀ █▀ ░
</pre>
< を < に変換する必要がある場合があります。さんの
他のヒント
の <pre>
そして </pre>
テキストエリアなどでは理想的ではないかもしれません。
改行を保持したい場合 - \n
そして \n\r
使用 nl2br UnkwnTech と Brad Mace が言及したとおりです。
スペースを確保したい場合は、 str_replace:
str_replace(' ', ' ', $stringVariable);
両方がこれを使用する場合:
$result = str_replace(' ', ' ', $stringVariable);
$result = nl2br($result);
データを印刷する場合は、 nl2br()
変換する \n
そして \r\n
の中へ <br>
データベースから取得したテキストを保存することを探している人にとっては、CSSを次のように設定することでうまくいきました。
pre {
white-space: pre-line;
text-align : left;
}
HTMLで:
<pre >
<?php echo htmlentities($yourText ) ; ?>
</pre>
所属していません StackOverflow