web-dev-qa-db-fra.com

exploser la zone de texte php (à de nouvelles lignes)

puis-je faire:

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

et le faire fonctionner sur toutes les plateformes? (La question que je pose est que ce sera jamais\r\n et pas seulement\n ")

ÉDITER:

J'ai oublié de mentionner que j'enregistre $ _POST ['thetextarea'] dans une base de données mysql VARCHAR 255. Il semble que\r\n soit converti en\n.

28
Chris Muench

Cela fera l'affaire donnée \r\n, \r ou \n:

preg_split('/\r\n|[\r\n]/', $_POST['thetextarea'])
72
Long Ears

Tu devrais utiliser:

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

Ce sera toujours pareil.

Les navigateurs et autres agents utilisateurs s'assureront qu'ils sont :-)

Voir http://www.w3.org/MarkUp/html-spec/html-spec_8.html#SEC8.2.1 pour plus d'informations.

19
PeeHaa

Vous pouvez également utiliser le PHP_EOL constant:

explode(PHP_EOL, $_POST['thetextarea']);
9
Sascha Galley

Vous pouvez faire quelque chose comme ça:

$text = trim($_POST['textareaname']);
$text = nl2br($text);
1
Jatin Babbar