Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在将表单提交到文件时,请使用换行符和逗号_Php_Regex_Forms - Fatal编程技术网

Php 在将表单提交到文件时,请使用换行符和逗号

Php 在将表单提交到文件时,请使用换行符和逗号,php,regex,forms,Php,Regex,Forms,我有一个表格,里面有一个文本区。我将结果记录到服务器上的一个文本文件中,但我想去掉用户在textarea中放置的任何换行符,以及任何会干扰将逗号分隔的日志文本文件导入Excel或以后使用的逗号 我认为这与正则表达式有关,但我不是专家,需要一些帮助。或者可能有一个简单的PHP函数可以做到这一点?使用空格替换几个字符应该可以;例如: $str = "This is a \nnewline, and, some, commas\nagain"; $new_str = str_replace(array

我有一个表格,里面有一个文本区。我将结果记录到服务器上的一个文本文件中,但我想去掉用户在textarea中放置的任何换行符,以及任何会干扰将逗号分隔的日志文本文件导入Excel或以后使用的逗号

我认为这与正则表达式有关,但我不是专家,需要一些帮助。或者可能有一个简单的PHP函数可以做到这一点?

使用空格替换几个字符应该可以;例如:

$str = "This is a \nnewline, and, some, commas\nagain";
$new_str = str_replace(array("\n", "\r", ","), " ", $str);
var_dump($new_str);
将为您提供:

string 'This is a  newline  and  some  commas again' (length=43)
您可能还可以使用:

$new_str = strtr($str, "\n\r,", "   ");

但请注意,如果使用,maybe?正确转义CSV文件中的数据,它应该能够包含换行符和逗号,而不会出现任何问题-至少如果用于读取数据的软件也遵守标准。

如果您只需要执行几个字符,可以使用str_replace

否则,如果变得更复杂,可以使用preg_replace


人力资源管理,我将不得不研究fputcsv,我只是使用基本的fwrite。谢谢人力资源经理,一直在玩弄它,但没有运气让它发挥作用。文件设置有正确的权限和一切…你知道有什么好的在线教程吗?
$cleaned_textarea_data = str_replace(
    array(",", "\n"), 
    array("", " "), 
    $textarea_data
);
$cleaned_textarea_data = pregr_replace("`[,\n]`", "", $textarea_data);