[英]How do I keep whitespace formatting using PHP/HTML?
我正在解析文件中的文本並將其存儲在字符串中。 問題是原始文件中的某些文本包含ASCII art
以及我想保留的其他內容。 當我在HTML page
上打印出字符串時,即使它確實具有相同的格式和所有內容,因為它是在HTML
,間距和換行符也不會保留。 完全按照原始文本文件中的HTML
打印出HTML
的文本的最佳方法是什么?
我想舉一個例子,但不幸的是,我無法在這個 Markdown 編輯器中正確顯示它:P
基本上,我想就如何ASCII art in HTML
顯示ASCII art in HTML
提出建議。
使用 <pre> 標簽(預格式化),它將使用單行字體(用於您的藝術)並保留所有空白
<pre>
text goes here and here
and here and here Some out here
▄ ▄█▄ █▄ ▄
▄█▀█▓ ▄▓▀▀█▀ ▀▀▀█▓▀▀ ▀▀ ▄█▀█▓▀▀▀▀▀▓▄▀██▀▀
██ ██ ▀██▄▄ ▄█ ▀ ░▒ ░▒ ██ ██ ▄█▄ █▀ ██
█▓▄▀██ ▄ ▀█▌▓█ ▒▓ ▒▓ █▓▄▀██ ▓█ ▀▄ █▓
█▒ █▓ ██▄▓▀ ▀█▄▄█▄▓█ ▓█ █▒ █▓ ▒█ ▓█▄ ▒
▀▒ ▀ ▀ █▀ ▀▒ ▀ █▀ ░
</pre>
您可能需要將任何 < 轉換為 < 的
<pre>
和</pre>
在 textarea 等中可能並不理想。
如果想保留新行- \\n
和\\n\\r
使用nl2br由UnkwnTech和布拉德·梅斯提及。
當想要保留空間使用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>
只需在 PHP 代碼中回顯必要的特殊字符(\\s、\\n 或 \\r)以及您的字符串即可。
<?php
echo ("hello world \n")
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.