我有两个文件。第一个文件是表单,第二个文件显示结果。
第一档:
<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])现在一切正常
答案 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());
}
);
});