我有一个可以动态创建输入集的表单——见这里。
为了将从这些输入收集到的值推送到.csv
表并将它们保存在一个单元格中,我使用了以下PHP函数。它从3个输入中收集内容,将其保存到.csv
中的单个单元格中,并且对于输入的每次新迭代,它只是用"//"分隔条目,但将其保留在同一个单元格中(例如: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 .= "//";
}
}
我的问题是,因为最后一个输入是一个文本区,如果一个换行符被放入(有人按回车键),它打破了.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 .= "//";
}
}
也许可以试试:preg_replace( "'r?'n's*", "", $provincialInvolvementValues)
-换行符通常是'n
或'r'n
,所以这可能会更好。
另外,return $provincialInvolvementValues;
可能在循环中是错误的…