взорвать textarea php (в новых строках) - PullRequest
26 голосов
/ 14 августа 2011

Могу ли я сделать:

explode("\n", $_POST['thetextarea']);

и работать ли он на всех платформах?(Вопрос, который я задаю, будет ли это когда-нибудь \ r \ n, а не просто \ n ")

РЕДАКТИРОВАТЬ:

Я забыл упомянуть, что я экономлю $ _POST ['thetextarea'] в базу данных mysql VARCHAR 255. Кажется, \ r \ n преобразуется в \ n.

Ответы [ 4 ]

71 голосов
/ 14 августа 2011

Это сделает трюк, данный \r\n, \r или \n:

preg_split('/\r\n|[\r\n]/', $_POST['thetextarea'])
18 голосов
/ 14 августа 2011

Вы должны использовать:

explode("\r\n", $_POST['thetextarea']);

Всегда будет одинаково.

Браузеры и другие пользовательские агенты удостоверится, что они: -)

Подробнее см. http://www.w3.org/MarkUp/html-spec/html-spec_8.html#SEC8.2.1.

9 голосов
/ 14 августа 2011

Вы также можете использовать константу PHP_EOL:

explode(PHP_EOL, $_POST['thetextarea']);
1 голос
/ 23 июня 2016

Вы можете сделать что-то вроде этого:

$text = trim($_POST['textareaname']);
$text = nl2br($text);
...