2014-04-17 98 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

是否通過爲file_get_contents('filename')賦值$ csv來測試? 和file_put_contents('文件名')操作具有相同的文件名? –

+0

嗨,對不起,你是對的,現在它可以工作,但仍然有一點問題。我不想鬆散分號,只有後面的內容。如果你能告訴如何在最後保護分號? – achillix

相關問題