2016-03-27 8 views
0

に文字列を追加/追加するので、私は数時間後にこの問題を回避しようとしていますが、何も期待どおりに動作していないようです。PHP:変数

for($i = 0 ; $i < count($lines); $i++){ 
    $currentLine = $lines[$i]; 
    $search = array('ø', '', 'ï', 'ò');$replace = array('ř', 'ť', 'ď', 'ň'); 
    $subject = str_replace($search, $replace, $currentLine); 
    $finalLine = '"'.$subject.'",'; 
    file_put_contents($fileName, $finalLine, FILE_APPEND); 
}; 

事は、私はいくつかの間違った文字で置き換えない単語ごとに、最後に 、(それは言葉だけのリスト、行に1つの単語です).DICファイルの行を反復処理しています簡単ですすべての私はをダブルクォートで囲むようにしてみてください(一重引用符はどちらでも動作しません)。引用符が正しく、そして代わりに"someword",の添加されていないことを

問題がで、私はJavaScriptでそれを使用することができます

// $currentLine = someword; 
echo '"'.$currentLine.'",'; 

// returns 
","someword 

","somewordが、私はそうJSONに.DICファイルを変換するために、これを必要とする取得します私は作っているゲーム。

誰かが助けてくれますか?私は似たような質問を見つけることはできません。ここではなく、Google上ではありません。私は私が全部配列

$newline = Array(
    0 => '"', 
    1 => $currentLine, 
    2 => '",' 
) 

してから、アレイに参加したが、同じ結果で、私は今ちょっと必死だので、誰かが私が間違っているのかを知っている場合は、私に教えてくださいを作ってみました、単一引用符を試してみました。

+1

これは、引用符の間の行を連結するので、出力も引用符の間にある必要があります。 – Rizier123

+0

jsonの場合は、ホイールがなく、json_encodeがあります。 –

+1

これはあなたの意図ではありますが、あなたは '$ finalLine'に追加していることを知っていますし、' $ finalLine'をすべてのループ反復の後に '$ fileName'ファイルに追加していますか? – Chris

答えて

0

あなたはその結果を得ている理由をコードから知ることはできません。しかし、ここに役立つ代替アプローチがあります。

// Set these outside the loop 
$search = array('ø', '', 'ï', 'ò'); 
$replace = array('ř', 'ť', 'ď', 'ň'); 

$subjects = array(); 

foreach ($lines as $line) 
{ 
    $subject = str_replace($search, $replace, $line); 
    $subject = trim($subject); // trim if you want to remove extraneous spaces 

    if (!empty($subject)) // Presumably you don't want to add empty lines if there are any 
    { 
     $subjects[] = $subject;  
    } 
} 

$allwords = implode(',', $subjects); 

file_put_contents($fileName, $allwords, FILE_APPEND); 

単語の配列を作成し、implode()ライブラリ関数を使用して単語を "、"で結合し、ファイル全体に追加します。

+0

はい、それでも動作しますが、依然として引用符で囲まれた単語が必要です。「キー」「デフォルト」「ブレーク」のような言葉がいくつかありますので、それは凍っているので、サブライムや他のエディタで編集することは不可能です。私はこのファイルをjavascriptにインポートすると、それらの単語が壊れてしまいます。しかし、ありがとう、これは私がやったよりもまだ良いです。更新:それは ''、 "'と結合しました。今は、引用と終了の引用を追加するだけです。ありがとう@グレッグ。 – Vincurekf

+0

申し訳ありませんが、私は引用符について忘れましたが、あなたがそれらを追加したことは素晴らしいです。 – Greg