2017-02-20 3 views
0

私はfile_get_contentsでファイルを読んでいます。 いくつかの行は複数の "="文字を持つことができ、これらの行を削除したい。複数の文字が存在する行を削除する

私は

str_replace("=", "", $content); 

を試してみましたが、これは「=」のすべての出現箇所を置き換えますが、これらの行を削除しません。

どうぞよろしくお願いします。

UPDATE:ファイルから私の内容は次のようになります。あなたのファイル/文字列の例を見ず

something 

apple is =greee= maybe red 
sugar is white 

sky is =blue 
+1

ホープは、あなたが私たちの問題のあなたのラインのいくつかの例を示してもらえますか? – JustBaron

+0

ありがとう、ファイルからサンプルコンテンツを追加しました – peter

+0

答えを確認してください – JustBaron

答えて

0

、それは助言する少しトリッキーですが、私がうまくいく基本原理のようなものになるだろうこの:

$FileName = "PathToFile"; 
$FileData = file_get_contents($FileName); 
$FileDataLines = explode("\r\n", $FileData); // explode lines by ("\n", "\r\n", etc) 

$FindChar = "="; // the character you want to find 

foreach($FileDataLines as $FileDataLine){ 
    $NoOfChar = substr_count($FileDataLine, $FindChar); // finds the number of occurrences of character in string 
    if($NoOfChar <= 1){ // if the character appears less than two times 
     $Results[] = $FileDataLine; // add to the results 
    } 
} 
# print the results 
print_r($Results); 
# build a new file 
$NewFileName = "YourNewFile"; 
$NewFileData = implode("\r\n", $Results); 
file_put_contents($NewFileName, $NewFileData); 

それは

+0

ありがとう、私はファイルからサンプルコンテンツを追加しました – peter

+0

答えを試して、それは文字列を削除する必要があります 'リンゴ= greee =多分赤' – JustBaron

+0

@ justbaronありがとう、これはまさに私がやりたかった! :) – peter

関連する問題