我正在从文件中解析文本并将其存储在字符串中。问题在于,原始文件中的某些文本包含了ASCII艺术
等内容,我希望保留它们。当我在HTML页面
上打印字符串时,即使它与原始文件具有相同的格式和样式,由于在HTML中,间距和换行都不会被保留。那么,在HTML
中精确地打印出原始文本文件的内容,最好的方法是什么?
我想举个例子,但很遗憾,我在这个markdown编辑器中无法正确显示它:P
基本上,我想知道如何在HTML
中显示ASCII艺术
的建议。
<pre>
text goes here and here
and here and here Some out here
▄ ▄█▄ █▄ ▄
▄█▀█▓ ▄▓▀▀█▀ ▀▀▀█▓▀▀ ▀▀ ▄█▀█▓▀▀▀▀▀▓▄▀██▀▀
██ ██ ▀██▄▄ ▄█ ▀ ░▒ ░▒ ██ ██ ▄█▄ █▀ ██
█▓▄▀██ ▄ ▀█▌▓█ ▒▓ ▒▓ █▓▄▀██ ▓█ ▀▄ █▓
█▒ █▓ ██▄▓▀ ▀█▄▄█▄▓█ ▓█ █▒ █▓ ▒█ ▓█▄ ▒
▀▒ ▀ ▀ █▀ ▀▒ ▀ █▀ ░
</pre>
您可能需要将任何 < 转换为 <
在文本框等场合,<pre>
和</pre>
可能并非最佳选择。
如果想要保留换行符-\n
和\n\r
,请使用UnkwnTech和Brad Mace提到的nl2br函数。
如果想要保留空格,请使用str_replace:
str_replace(' ', ' ', $stringVariable);
如果两者都需要,请使用以下代码:
$result = str_replace(' ', ' ', $stringVariable);
$result = nl2br($result);
如果您正在寻找保留从数据库获取的文本的方法,这个方法对我很有效,只需按照以下设置CSS:
pre {
white-space: pre-line;
text-align : left;
}
<pre >
<?php echo htmlentities($yourText ) ; ?>
</pre>
只需在您的PHP代码中将必要的特殊字符(\s、\n或\r)与字符串一起回显即可。
<?php
echo ("hello world \n")
?>