Warning:这个答案集中在OP的特定部分,与问题标题无关。对于“如何获取每一行”问题的答案,请考虑下面的帖子。
你会想要调查一下nl2br() http://www.php.net/nl2br函数与trim() http://www.php.net/trim.
The nl2br()
将插入<br />
在换行符之前(\n
)和trim()
将删除任何结尾\n
或空白字符。
$text = trim($_POST['textareaname']); // remove the last \n or whitespace character
$text = nl2br($text); // insert <br /> before \n
那应该做你想做的事。
UPDATE
以下代码不起作用的原因是为了\n
要被识别,它需要位于双引号内,因为双引号解析其中的数据,而单引号则按字面意思理解,IE"\n"
$text = str_replace('\n', '<br />', $text);
要修复它,将是:
$text = str_replace("\n", '<br />', $text);
但还是使用内置的更好nl2br()
函数,PHP提供。
EDIT
抱歉,我认为第一个问题是这样你可以添加换行符,实际上这会很大程度地改变答案,因为任何类型的explode() http://www.php.net/explode将删除换行符,但这里是:
$text = trim($_POST['textareaname']);
$textAr = explode("\n", $text);
$textAr = array_filter($textAr, 'trim'); // remove any extra \r characters left behind
foreach ($textAr as $line) {
// processing here.
}
如果您这样做,您将需要附加<br />
在您自己完成处理之前,将其放在行尾,因为explode()
函数将删除\n
人物。
添加了array_filter() http://www.php.net/array_filter to trim()
关闭任何额外的\r
那些可能一直挥之不去的人物。