Theodore Steiner Theodore Steiner - 1 month ago 13
PHP Question

PHP - Preventing Line breaks in Dynamically Created Text area

I have a form with sets of inputs that can be dynamically created -- see here.

In order to push the values gathered from these inputs to a

.csv
sheet and keep them together in a single cell, I am using the following PHP function. It gathers the content from the 3 inputs, saves it to the
.csv
in a single cell, and for every new iteration of inputs, it just separates the entries with a "//" but keeps it in the same cell (like this: President, 2015, I was the president// Vice President, 2014, I was the vice president).

PHP

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

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

}


My problem is because the last input is a textarea, if a line break is put in (someone hits the enter key) it breaks the form of the
.csv
and puts it on a new line.

I am trying to write a function onto the portion of my PHP that, as it logs the value into
$provincialInvolvementValues
it removes any linebreaks but I;m having no luck.

Here is the function problem is it doesn't log anything.

$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 .= "//";
}

}

Answer

Maybe try this: preg_replace( "\r?\n\s*", "", $provincialInvolvementValues) - newlines are usually \n or \r\n so this might work better.

Also, the return $provincialInvolvementValues; is probably wrong in the loop...

Comments