2016-10-26 29 views
0

我有一組可以動態創建的輸入表單 - see herePHP - 在動態創建的文本區域中防止換行符

爲了將從這些輸入收集的值推送到.csv工作表並將它們放在一個單元格中,我使用以下PHP函數。它收集來自3個輸入的內容,將其保存到.csv中的單個單元格中,並且對於每次新的輸入迭代,它都會將條目與「//」分開,但保留在同一個單元格中(如下所示:總統,2015年,我是總裁/副總裁,2014年,我是副總裁)。

PHP

$provincialInvolvement = $_POST["provincialInvolvement"]; 
$provincialInvolvementValues = ""; 
$e = 0; 

foreach($provincialInvolvement as $piValue) 
    { 
     $provincialInvolvementValues .= $piValue; 
     $e++; 
     if($e % 3 == 0) 
      { 
       $provincialInvolvementValues .= "//"; 
      } 

    } 

我的問題是,因爲最後的輸入是一個textarea,如果一個換行符被放在(有人打回車鍵),它打破了.csv的形式,並把它放在一條新線。

我想寫一個函數到我的PHP的部分,因爲它將值記錄到$provincialInvolvementValues它刪除任何換行符,但我沒有運氣。

這裏是函數的問題是它沒有記錄任何東西。

$provincialInvolvement = $_POST["provincialInvolvement"]; 
$provincialInvolvementValues = ""; 
$e = 0; 

foreach($provincialInvolvement as $piValue) 
    { 
     $provincialInvolvementValues .= $piValue; 
     $e++; 
     $provincialInvolvementValues = preg_replace("/(\r|\n)/ ", "", $provincialInvolvementValues); 
     return $provincialInvolvementValues; 
     if($e % 3 == 0) 
      { 
       $provincialInvolvementValues .= "//"; 
      } 

    } 
+1

也許試試這個:'的preg_replace( 「嗎?\ r \ n \ S *」, 「」,$ provincialInvolvementValues)' - 換行通常是' \ n'或'\ r \ n',這樣可能會更好。此外,'return $ provincialInvolvementValues;'在循環中可能是錯誤的... – Lucero

+0

工作就像一個魅力!謝謝你,先生! –

+0

很高興它的工作,我已經添加它作爲答案,所以你可以接受它的問題解決了。 – Lucero

回答

1

也許試試這個:preg_replace("\r?\n\s*", "", $provincialInvolvementValues) - 換行通常是\n\r\n所以這可能會更好地工作。

此外,return $provincialInvolvementValues;處於環路可能是錯的...

相關問題