无法从textarea中删除空格

时间:2012-01-04 19:54:55

标签: php textarea removing-whitespace

我有两个文件。第一个文件是表单,第二个文件显示结果。

第一档:

<form action="show.php" method=post>
<textarea name="test" cols=40 rows=6>
</textarea>
<input type=submit value="submit">
</form>

第二档:

<?php
$text = trim($_POST['test']);
$textAr = explode("\n", $text);

for ($i=0; $i<sizeof($textAr); $i++)
{
    $link = str_replace(" ", "", $textAr[$i]);
    echo $link."---<br>";
}
?>

当我输入表格时,例如

one
two
three

结果是:

one ---
two ---
three---

在字符串的末尾:一个和两个有空格我无法删除。有人可以帮我吗?

谢谢我使用$ link = str_replace(“\ r”,“”,$ textAr [$ i])现在一切正常

6 个答案:

答案 0 :(得分:1)

使用trim()代替str_replace

答案 1 :(得分:1)

您可以使用trim功能而不是使用str_replace来执行此操作。

答案 2 :(得分:1)

基本上,textarea的换行符在Internet Explorer中为\r\n,在所有其他浏览器(包括Mac)中为\n。自版本9以来,IE也使用\n


有许多方法可以修复您的代码。例如,您可以尝试preg_split()

preg_split('/(?:\r\n|\n)/', $text);

但是,我没有测试过这个提案的表现。

另外,非常重要的是,请务必将\r\n放在正则表达式的\n之前!


此外,trim()str_replace()更适合(当然,如果你仍然需要它)。

答案 3 :(得分:0)

也许它是非空格的空格,如非中断空格(nbsp)或某些部分的换行组合?

答案 4 :(得分:0)

尝试nl2br()函数,可以是回车符或新行(\ r \ n,\ n \ r \ n,\ n和\ r \ n)。

答案 5 :(得分:0)

我知道它很晚但可能会帮助别人。

在需要文档缩进时使用它。

$('document').ready(function()
{
    $('textarea').each(function(){
            $(this).val($(this).val().trim());
        }
    );
});