2016-06-16 11 views
0

私はテキストファイルを持っていますので、それを読み、別の方法でフォーマットし、新しいファイルを作成する必要があります。出力からテキストファイルを作成する必要があります

新しいファイルは次のようになりますと、古いファイルは、番号のリストだけで、基本的に私は、各エントリのためのより多くのデータを追加し、

後 上
Initialize 
ENM.ALPHA 
ENM.BETA 
018327363 
2 

Initialize 
ENM.ALPHA 
ENM.BETA 
0183344555 
2 
. 
. 

ので、以下のような新しい書式付きリストを作成する必要があります私は使用しているコードですが、ファイルを作成しますが、必要に応じてフォーマットしません。新しいファイルを作成しますが、1行に<br/>も出力されます。上記のようにどのようにフォーマットできますか?どのように私は新しいファイルからhtmlタグを削除しますが、私の希望の形式

$ob_file = fopen('test11.txt','w'); 
    function ob_file_callback($buffer) 
     { 
     global $ob_file; 
     fwrite($ob_file,$buffer); 
     } 
    $ob_file = fopen('test11.txt','w'); 
    //Anything we output now will go to test.txt 
    ob_start('ob_file_callback'); 
    foreach ($s as $d1){ 
    echo strip_tags("di" ."<br/>"); 
    echo "ENM.ALPHA" .'<br/>' ; 
    echo "ENM.BETA" .'<br/>' ; 
    echo "0183344555" .'<br/>' ; 
     echo $d1 .'<br/>' ; 
    echo '2' .'<br/>'.PHP_EOL ; 
    echo "\r\n" .'<br/>'; 
    echo "\r\n" .'<br/>'; 

    } 
    ob_end_flush(); 
+0

なぜ 'fwrite()'を直接呼び出すのではなく、出力バッファリングを使用していますか?そしてなぜあなたはファイルを2回開くのですか? – Barmar

+3

テキストファイルに '
'を入れてはいけません。これはHTML用です。プレーンテキストファイルで 'PHP_EOL'を使用してください。 – Barmar

+0

タグを削除する必要はありません。 – Barmar

答えて

0

を得ることができますこれは、あなたがテキストファイルで<br/>を配置する必要はありませんhere-doc

$file = fopen("test11.txt", "w"); 
foreach ($s as $d1) { 
    $block = <<<EOS 
    Initialize 
    ENM.ALPHA 
    ENM.BETA 
    $d1 
    2 

    EOS; 
    fwrite($file, $block); 
} 
fclose($file); 

を使用するには良いアプリです。これはHTMLタグです。

+0

それはうまくいったが、ただ一つのブロックをファイルに入れ、ファイル全体を反復しなかった。 – harry

+0

'$ s'配列のサイズと同じくらい多くのブロックを置くべきです。 – Barmar

関連する問題