Как сохранить форматирование пробелов с помощью PHP / HTML?

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
32
0
45 765
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

При печати данных используйте nl2br() для преобразования \n и \r\n в <br>.

Ответ принят как подходящий

использовать

<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(' ', '&nbsp;', $stringVariable);

Когда оба используют это:

$result = str_replace(' ', '&nbsp;', $stringVariable);
$result = nl2br($result);

Предупреждение, это приведет к разрыву некоторых слов. Как будто у меня был какой-то текст, и слово «как» было разбито на две строки почти как h<br>ow, поэтому обязательно тщательно проверьте.

Spencer Shattuck 27.04.2020 23:45

Для всех тех, кто ищет сохранение текста, извлеченного из базы данных, это сработало для меня, установив 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")

?>

Другие вопросы по теме