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

Захват новой строки из текстового поля

У меня есть текстовая форма в моем html. Если пользователь попадает между двумя предложениями, данные должны переноситься на мой PHP.

В настоящее время, если пользователь вводит:

Apple
Google
MS

и мой PHP-код:

$str = $_POST["field"];

echo $str;

Я получаю

Apple Google MS 

в качестве вывода. Я хочу, чтобы результат был таким

Apple
Google
MS

что мне делать?

4b9b3361

Ответ 1

Попробуйте nl2br():

echo nl2br($str);

Ответ 2

Новые строки должны быть включены в строку, полученную из $_POST["field"]. Однако, если вы затем используете эту строку в качестве вывода в HTML, символы новой строки будут рассматриваться как пробельные символы. Чтобы заставить разрывы строк, используйте preg_replace("/\n/", "<br />", $str).

Ответ 3

Это потому, что, когда вы эхо его, оно отображается как HTML. Символ \n интерпретируется как пробел. Если вы просмотрите источник, вы увидите нужный результат.

Чтобы преобразовать \n в <br>, используйте:

echo nl2br( $str );