2016-10-26 20 views
0

私は動的に作成できる入力のセットを持つフォームを持っています - see herePHP - 動的に作成されたテキストエリアの改行を防ぐ

これらの入力から集められた値を.csvシートにプッシュし、それらを1つのセルにまとめて保存するために、次のPHP関数を使用しています。 3つの入力からコンテンツを集め、1つのセルの.csvに保存します。入力の新しい繰り返しごとに、「//」でエントリを区切りますが、同じセルに保持します(例:President 、2015年、私は大統領/副社長、2014年、私は副社長でした)。

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

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

    } 

PHPは、私の問題は、改行を入れている場合、最後の入力は(誰かがキー入力ヒット)、テキストエリアであるので、それは.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;は多分これ試す

関連する問題