如何使用PHP/HTML保留空格格式?

Ste*_*ley 30 html php ascii

我正在从文件中解析文本并将其存储在字符串中.问题是原始文件中的某些文本包含ASCII art了我想要保留的内容.当我打印出字符串时HTML page,即使它具有相同的格式和所有内容,因为它HTML不会保留间距和换行符.打印文本的最佳方法是什么,HTML就像在原始文本文件中一样?
我想举个例子,但不幸的是,我无法在这个降价编辑器中正确显示它:P
基本上,我想了解如何显示的建议ASCII art in HTML.

Gra*_*ant 57

使用<pre>标签(预格式化),它将使用单声道间隔字体(适用于您的艺术品)并保留所有空白区域

<pre>
text goes here and here 
             and here and here            Some out here
     ?             ??? ??       ?
 ????? ?????? ??????? ??    ?????????????????
??  ?? ????? ??  ? ?? ??   ??  ?? ??? ?? ??
??????  ? ?????    ?? ??   ?????? ?? ??  ??
??  ?? ????? ???????? ??   ??  ?? ??  ??? ?
    ??           ?  ? ??       ??  ?  ??  ?

</pre>  
Run Code Online (Sandbox Code Playgroud)

您可能必须将任何<s转换为< 的

  • 首先是&和. (2认同)

Igo*_* L. 13

<pre></pre>可能不是文本区域等..理想

如果想保存新的生产线- \n\n\r使用nl2br由UnkwnTech和布拉德·梅斯提及.

想要保留空格时使用str_replace:

str_replace(' ', '&nbsp;', $stringVariable);

两者都使用时:

$result = str_replace(' ', '&nbsp;', $stringVariable);
$result = nl2br($result);
Run Code Online (Sandbox Code Playgroud)


Unk*_*ech 6

当您打印数据用于nl2br()转换\n\r\n进入<br>


Div*_*mmy 6

对于所有那些保存从数据库获取的文本的搜索,这对我有用,将 CSS 设置如下,

pre {
     white-space: pre-line;
     text-align : left;
  }
Run Code Online (Sandbox Code Playgroud)

在html中:

<pre >
     <?php echo htmlentities($yourText ) ; ?>
</pre>
Run Code Online (Sandbox Code Playgroud)