Я беру текст из файла и сохраняю его в строке. Проблема в том, что часть текста в исходных файлах содержит ASCII art и еще много чего, что я хотел бы сохранить. Когда я распечатываю строку на HTML page, даже если она имеет такое же форматирование и все, что и в HTML, интервалы и разрывы строк не сохраняются. Как лучше всего распечатать текст в HTML точно так же, как он был в исходном текстовом файле?
Я хотел бы привести пример, но, к сожалению, мне не удалось заставить его правильно отображать в этом редакторе уценки: P
В принципе, мне бы хотелось посоветовать, как отображать ASCII art in HTML.






использовать
<pre> tag (pre formatted), that will use a mono spaced font (for your art) and keep all the white space<pre>
text goes here and here
and here and here Some out here
▄ ▄█▄ █▄ ▄
▄█▀█▓ ▄▓▀▀█▀ ▀▀▀█▓▀▀ ▀▀ ▄█▀█▓▀▀▀▀▀▓▄▀██▀▀
██ ██ ▀██▄▄ ▄█ ▀ ░▒ ░▒ ██ ██ ▄█▄ █▀ ██
█▓▄▀██ ▄ ▀█▌▓█ ▒▓ ▒▓ █▓▄▀██ ▓█ ▀▄ █▓
█▒ █▓ ██▄▓▀ ▀█▄▄█▄▓█ ▓█ █▒ █▓ ▒█ ▓█▄ ▒
▀▒ ▀ ▀ █▀ ▀▒ ▀ █▀ ░
</pre>
<p>You might have to convert any </p></pre>
<pre> и </pre> могут быть не идеальными в текстовом поле и т. д.
Если вы хотите сохранить новую строку - \n и \n\r, используйте nl2br, как указано UnkwnTech и Brad Mace.
Если вы хотите сохранить пробелы, используйте str_replace:
str_replace(' ', ' ', $stringVariable);
Когда оба используют это:
$result = str_replace(' ', ' ', $stringVariable);
$result = nl2br($result);
Для всех тех, кто ищет сохранение текста, извлеченного из базы данных, это сработало для меня, установив CSS следующим образом:
pre {
white-space: pre-line;
text-align : left;
}
в html:
<pre >
<?php echo htmlentities($yourText ) ; ?>
</pre>
просто введите необходимые специальные символы (\ s, \ n или \ r) вместе со строкой в свой PHP-код.
<?php
echo ("hello world \n")
?>
Предупреждение, это приведет к разрыву некоторых слов. Как будто у меня был какой-то текст, и слово «как» было разбито на две строки почти как h<br>ow, поэтому обязательно тщательно проверьте.