我必须在网页上呈现一些文字。该文本来自我无法控制的来源,并使用换行符和制表符进行格式化。
新行(\n)
可以替换为br
代码,但是保留标签呢?简短的搜索显示,无法直接在HTML中呈现制表符。
答案 0 :(得分:13)
为什么不将内容包装在<pre>
标记中?这将处理\n
以及\t
个字符。
答案 1 :(得分:7)
不间断空格的替代方案是em空间( 
或 
)。如果这是一个优势,它通常被渲染为更长的空间。
答案 2 :(得分:1)
replace \t with
您想要的每个空间都是
正如所指出的那样,这不是完全正确的,因为它只是假装成一个标签,因为HTML
实际上并没有像你期望的那样输出标签格式。
答案 3 :(得分:1)
如果您已经在替换换行符,为什么不对标签执行相同操作...?
str_replace("\t", ' ', $text);
答案 4 :(得分:1)
 
,  
,  
或  
可以使用。
The character entities   and   denote an en space and an em space respectively, where an en space is half the point size and an em space is equal to the point size of the current font.
Wikipedia(关于空格)
更多答案 5 :(得分:0)
您可以使用xmp
标记来阻止浏览器执行空白操作。 xmp
标记只是在其中呈现原始文本。什么都没有改变。自HTML3.2以来,xmp
代码已弃用,目前已从HTML5规范中删除,但所有浏览器仍然支持这些代码,并且不太可能发生变化。
使用HTML表格。字符串中的选项卡只创建表。选项卡用于制表数据。字符串中的每一行都是表格中的新行,每行中的每个标签都会开始一个新单元格。
Spam 1.99
Cheese 2.99
<table>
<tr> <td> Spam </td> <td> 1.99 </td> </tr>
<tr> <td> Cheese </td> <td> 2.99 </td> </tr>
</table>
如果这是您想要的,您可以将表格设置为纯文本样式。