问题
can I do:
explode("\n", $_POST['thetextarea']);
and have it work on all platforms? (The question I am asking is will it ever be \r\n and not just \n")
EDIT:
I forgot to mention that I am saving $_POST['thetextarea'] to a mysql database VARCHAR 255. It seems \r\n is converted to \n.
回答1:
This will do the trick given \r\n
, \r
or \n
:
preg_split('/\r\n|[\r\n]/', $_POST['thetextarea'])
回答2:
You should use:
explode("\r\n", $_POST['thetextarea']);
It will always be the same.
Browsers and other user-agents will make sure they are :-)
See http://www.w3.org/MarkUp/html-spec/html-spec_8.html#SEC8.2.1 for more info.
回答3:
You could also use the PHP_EOL
constant:
explode(PHP_EOL, $_POST['thetextarea']);
回答4:
You can do something like this:
$text = trim($_POST['textareaname']);
$text = nl2br($text);
来源:https://stackoverflow.com/questions/7058168/explode-textarea-php-at-new-lines