我正在解析文件中的文本并将其存储在字符串中。问题是原始文件中的某些文本包含ASCII art
我想保留的内容。当我在 上打印出字符串时HTML page
,即使它确实具有相同的格式和自从它在 中HTML
的所有内容,也不会保留间距和换行符。打印出HTML
与原始文本文件完全相同的文本的最佳方法是什么?
我想举个例子,但不幸的是,我无法让它在这个 Markdown 编辑器中正确显示:P
基本上,我想要关于如何显示的建议ASCII art in HTML
。
Steven Oxley
问问题
47779 次
5 回答
59
使用 <pre> 标记(预格式化),它将使用单行距字体(用于您的艺术)并保留所有空白
<pre>
text goes here and here
and here and here Some out here
▄ ▄█▄ █▄ ▄
▄█▀█▓ ▄▓▀▀█▀ ▀▀▀█▓▀▀ ▀▀ ▄█▀█▓▀▀▀▀▀▓▄▀██▀▀
██ ██ ▀██▄▄ ▄█ ▀ ░▒ ░▒ ██ ██ ▄█▄ █▀ ██
█▓▄▀██ ▄ ▀█▌▓█ ▒▓ ▒▓ █▓▄▀██ ▓█ ▀▄ █▓
█▒ █▓ ██▄▓▀ ▀█▄▄█▄▓█ ▓█ █▒ █▓ ▒█ ▓█▄ ▒
▀▒ ▀ ▀ █▀ ▀▒ ▀ █▀ ░
</pre>
您可能必须将任何 <'s 转换为 < 的
于 2008-08-31T05:58:01.747 回答
16
<pre>
和在 textarea 等中</pre>
可能并不理想。
当想要保留新行时 -\n
并\n\r
使用UnkwnTech和 Brad Mace 提到的 nl2br。
当想要保留空格时,请使用str_replace:
str_replace(' ', ' ', $stringVariable);
当两者都使用这个时:
$result = str_replace(' ', ' ', $stringVariable);
$result = nl2br($result);
于 2013-02-19T11:44:59.993 回答
6
当您打印nl2br()
用于转换\n
的数据\r\n
时<br>
于 2008-08-31T05:56:55.290 回答
4
对于所有那些搜索保留从数据库中获取的文本的人来说,这对我有用,将 CSS 设置如下,
pre {
white-space: pre-line;
text-align : left;
}
在 html 中:
<pre >
<?php echo htmlentities($yourText ) ; ?>
</pre>
于 2015-03-18T10:21:08.217 回答
-1
只需在 PHP 代码中回显必要的特殊字符(\s、\n 或 \r)以及您的字符串即可。
<?php
echo ("hello world \n")
?>
于 2020-01-21T23:17:32.880 回答