Подтвердить что ты не робот

Сохранять разрывы строк в текстовом поле

У меня есть форма с текстовым полем, и я хочу сохранить разрывы строк, введенные пользователем при выводе содержимого.

Например, если я пишу в textarea:

Вот предложение. Вот еще один. вот еще один.

Это новый абзац. Вот новое предложение. Вот еще один.

Мне нужен тот же вывод и не:

Вот предложение. Вот еще один. вот еще один. Это новый параграф. Вот новое предложение. Вот еще один.

Как я могу сохранить разрывы строк?

4b9b3361

Ответ 1

Обычно вам просто нужно добавить

  • white-space: pre-line; пробелы обрезаны до одиночных пробелов или

  • white-space: pre-wrap; все сохраненные пробелы

к стилю элемента (CSS), где вы хотите, чтобы ваш текст отображался с разрывами строк.

Ответ 2

Линия разрывов введенного пользователя сохраняется, ни html, ни php просто не опускаются или ничего не меняют. Однако html-разметка, когда визуализируется для визуализации, использует другой способ разрыва строки кода. Для этого есть веские причины. Итак, что вам нужно сделать, это "перевести" существующую разрывы строк в разрывы строк в стиле HTML.

Как это сделать, зависит от среды, в которой вы работаете. В общем, вам нужно перевести коды прерывания строки, например теги \n в <br>. Язык сценариев php предлагает функцию для этого, например: nl2br()

Однако позаботьтесь: это применимо только при рендеринге текста в виде разметки html. Это не применяется, когда вы снова выводите текст в текстовое поле внутри формы, чтобы, например, изменять его. В этом случае вы должны сохранить исходные разрывы строк так же, как и полученные.

Итак, что вы обычно делаете: вы сохраняете неизменный ввод текста в том виде, в каком он был получен. Когда вы снова выводите этот текст клиенту, скажем, после его чтения из базы данных, где вы ее сохранили раньше, вы знаете ситуацию, как будет представлен текст. То есть, когда вы либо переводите, либо оставляете существующие разрывы строк, как есть.

Вы также можете кодировать неизменный текст, содержащий разрывы строк тегами <pre>...</pre>, поэтому отметьте их как отображаемые как предварительно отформатированные. Это, например, выполняется при отображении исходного кода на html-страницах.

Ответ 3

Вы сохраняете вывод в textarea как есть. Вы получите входные данные в виде строки, которая выведет эту string(write to file) эту строку, добавив текстовую область во входную строку.

for eg.
<?php
$txt = $_POST["inputstr"];
$txt1 = "<textarea>". $txt ."</textarea>";
$file = fopen("file.html","a+");
fwrite($file, $txt1);
fclose($file);
?>

Ответ 4

Если вы хотите сохранить символы возврата каретки из строки Java в файл. Просто замените каждый символ строки разрыва (который распознается в java как:\n) согласно следующему выражению: tempQuery = tempQuery.replaceAll("\n", "\ r\n");

Таким образом, строка разрыва будет отображаться на вашей html-странице без использования CSS.

    // Action Listener
    orderButton.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent ae) {
            // When Execute button is pressed
            String tempQuery = textArea.getText();
            tempQuery = tempQuery.replaceAll("\n", "\r\n");
            try (PrintStream out = new PrintStream(new FileOutputStream("C:/Temp/tempQuery.html"))) {
                out.print(tempQuery);
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            System.out.println(tempQuery);
        }

    });