2012-01-04 72 views
0

我有兩個文件。第一個文件是一個表單,第二個文件顯示結果。無法從textarea刪除空格

第一個文件:

<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--- 

在字符串的末尾:一個和兩個有我無法刪除的空格。任何人都可以幫助我嗎?

感謝我用$鏈接= str_replace函數( 「\ r」, 「」,$ TEXTAR [$ i]),現在一切正常

+0

可能是由於在textarea中的回車。嘗試從值中刪除\ n和\ r。 – 2012-01-04 20:00:55

回答

1

使用trim()而不是str_replace

1

您可以使用trim功能而不是使用str_replace來做到這一點。

0

也許它是非空格空格(nbsp)或換行符組合的某個部分的非空格空格?

0

嘗試nl2br()功能,可能是回車或換行(\ r \ n,\ n \ r,\ n和\ r)。

+0

謝謝我使用了$ link = str_replace(「\ r」,「」,$ textAr [$ i]),現在一切正常。 – sirDexter 2012-01-04 20:16:48

+0

很酷。 nl2br()是爲這些情況量身定製的! :) – 2012-01-04 20:32:26

1

基本上,textarea的換行符在Internet Explorer中爲\r\n,而在所有其他瀏覽器(包括Mac)中爲\n。 IE從版本9開始也使用\n


有很多方法可以修復您的代碼。例如,你可以嘗試preg_split()

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

但是,我沒有測試過這個建議的性能。

另外,非常重要的一定要把\r\n放在\n之前的正則表達式!


此外,trim()是比str_replace()更適合(當然,如果你仍然需要它)。

0

我知道它晚了,但可能會幫助別人。

在需要文檔縮進時使用此項。

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

有什麼辦法可以解決使用CSS? – Bipon 2017-07-19 12:02:56