2014-04-17 2 views
0

세미콜론 (;) 다음에 모든 문자를 삭제하려는 CSV 파일이 있습니다. 모든 줄에는 세미콜론이 하나만 있습니다. 여기 내 코드는하지만, 그것은 작동하지 않습니다모든 줄에서 파일의 문자열 뒤에 모든 문자 찾기 및 삭제

$variable = substr($variable, 0, strpos($variable, ";")); 
$file = "D:/test/php/liste_compte.csv"; 
$content = file_get_contents($file); 
$content = str_replace($variable, $content); 
file_put_contents($file, $content); 

아이디어

THX를 사전에

답변

0
<?php 
$csv=<<<HERE 
a,b,c,d 
e,f,g,h 
i,j,k;,l 
m,n,o,p 
HERE; 

$output = ''; 

$lines = explode(PHP_EOL, $csv); 

for($i = 0; $i<count($lines); $i++) { 
$line = $lines[$i]; 

// check for ; 
if(strpos($line, ';') !== false) { 
    // if found then remove everything after that 
    $line = substr($line, 0, strpos($line, ';')); 
} 

$output.=$line."\r\n"; 

} // end of for loop 

file_put_contents("file.csv", $output); 

필요한 출력은 $ 출력에 저장되기 때문에 당신은 당신이 이제까지 필요로 무엇을 할 수

견본 CSV 데이터를 제공 할 수 있다면 정확한 답변을 드릴 수 있습니다 ..

+0

안녕하십니까. 당신의 도움. 내가 당신의 스크립트를 시도하고 그것을 작동하지만 내 문제를 해결하기 위해. 어떻게하면 파일에 들어가 세미 콜론과 모든 프로세스를 반복 한 후에 모든 캐랙터를 삭제하라고 명령 할 수 있습니다. 나는 당신의 스크립트와 함께 작동하게 만들 수 없었다. – achillix

+0

$ csv에 file_get_contents ('filename')를 지정하여 테스트 했습니까? 및 file_put_contents ('filename') 연산이 동일한 파일 이름을 사용합니까? –

+0

죄송합니다. 당신 말이 맞습니다. 이제는 작동하지만, 여전히 약간의 문제가 있습니다. 나는 세미 콜론 (semi-colon)을 풀고 싶지 않다. 마지막에 세미콜론을 보호하는 방법을 말할 수 있다면? – achillix

관련 문제