2010-04-01 6 views
0

양식에 텍스트 영역이 있습니다. 결과를 서버의 텍스트 파일에 기록하지만 사용자가 텍스트 영역에 넣을 줄 바꿈을 제거하고 쉼표로 구분 된 로그 텍스트 파일을 Excel로 가져 오는 것을 방해하는 쉼표 또는 나중에 사용하기위한 것.양식 제출을 파일에 쓰려면 줄 바꿈과 쉼표를 뺍니다.

저는 이것이 정규 표현식과 관련이 있다고 생각하지만 전문가는 아니며 도움을받을 수 있습니다. 아니면 그것을 할 수있는 쉬운 PHP 함수가 있을까요?

답변

0

str_replace을 사용하면 두 문자를 공백으로 대체 할 수 있습니다. 예를 들면 :

$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) 


당신은 아마 또한 대한 strtr 사용할 수 있습니다

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


그러나 이스케이프 경우 해당주의 CSV 파일의 데이터가 올바르게 표시됩니다. (fputcsv, 아마도?)을 사용하면 아무런 문제없이 줄 바꿈과 쉼표를 포함 할 수 있어야합니다. 적어도 읽는 소프트웨어가 표준도 고려해야합니다. 당신은 단지 문자의 몇 가지 일을 할 거라면

+0

흠 ...을 사용할 수 있습니다, 그렇지 않으면 str_replace

$cleaned_textarea_data = str_replace( array(",", "\n"), array("", " "), $textarea_data ); 

을 사용할 수 있습니다, I fputcsv를 살펴 봐야 할 것입니다. 기본 fwrite를 사용하고있었습니다. 감사! – bccarlso

+0

오신 것을 환영합니다 :-) 재미있게 보내십시오! –

+0

흠, 그것으로 놀고 있었지만 운 좋게도 작동하지 않았습니다. 올바른 사용 권한과 모든 것을 설정하는 파일 ... 온라인에서 좋은 자습서를 알고 계십니까? – bccarlso

1

, 당신은 더 복잡해진다 경우, 당신은 preg_replace

$cleaned_textarea_data = pregr_replace("`[,\n]`", "", $textarea_data); 
관련 문제