0

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

第一个文件:

<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]) 现在一切正常

4

6 回答 6

1

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


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

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

但是,我还没有测试过这个提案的性能。

另外,非常重要的是,一定要在正则表达式\r\n之前加上\n


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

于 2012-01-04T20:39:06.293 回答
1

使用trim()代替str_replace

于 2012-01-04T19:57:50.660 回答
1

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

于 2012-01-04T19:57:56.007 回答
1

我知道它很晚,但可能会帮助其他人。

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

$('document').ready(function()
{
    $('textarea').each(function(){
            $(this).val($(this).val().trim());
        }
    );
});
于 2017-06-27T06:45:22.987 回答
0

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

于 2012-01-04T19:59:31.763 回答
0

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

于 2012-01-04T20:06:01.790 回答