PHP 与表单

textarea 的空白符(换行,回车)

Get each line from textarea

$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. 
} 

这里的讨论提到的方法似乎并不适用,array_filter() 函数只会剔除 callback 函数返回值为 false 的数组元素,并不会去更改数组元素值。所以目前我得到的答案是:

对于 textarea 提交的表单值,其实换行过的内容包含基本的空白符是 "\r\n" 因此通过 explode("\r\n", trim($_POST['textarea'])) 即可得到正确的数组元素值,但是,如果文本框的每一行后面还有空白符,如空格,最终的结果还是会将这个空白符加入进去。 因此,实际和使用 explode("\n", trim($_POST['textarea']))(生成的数组元素中依然含有空白符)一样,需要在遍历数组时用 trim() 将其剔除。