0

では、次の行を含む .txt ファイルがあるとします。

マーク
・ジェーン
・アン

これらの名前を 1 行ずつ読み取り、次のような新しいテキスト ファイルに保存する php コードを作成するにはどうすればよいでしょうか。

こんにちは、私の名前はマークです。あなたの名前は何ですか?
こんにちは私の名前はジェーンです。あなたの名前は何ですか?
こんにちは、私の名前はアンです。あなたは何ですか?

PS - これは私の問題の単純化されたバージョンです。実際には、いくつかの XML コードで囲み、それらを別のものの上に積み重ねる必要がある URL のリストがあるため、1 つの大きな XML ファイルであることがわかります。XML テキストの周囲のブロックは静的であり、変更されません。変更する必要があるのは、もちろん、URL を挿入する必要がある部分だけです。

4

3 に答える 3

0

ファイルを開き、読み取ります。

$names = file("names.txt");

foreach ($names as $name) {

 printf("Hi My name is %s, What's yours?\n", $name);

}
于 2013-06-18T02:37:45.153 に答える
0

これはどうですか: (result.txt には結果が含まれ、input.txt には名前が含まれます)

<?php
$filename = "result.txt";
if (!$handleRes = fopen($filename, 'a')) {
         echo "Cannot open file ($filename)";
         exit;
}

$handle = @fopen("input.txt", "r");
if ($handle) {
    while (($buffer = fgets($handle, 4096)) !== false) {
        fwrite($handleRes, "Hi my name is ".chop($buffer).", what's yours?\n");
    }
    if (!feof($handle)) {
        echo "Error: unexpected fgets() fail\n";
    }
    fclose($handle);
}
?>
于 2013-06-18T02:39:54.213 に答える
0
$aString = file_get_contents("text.txt"); // get text from file
$aString = explode("\n", $aString); // split this text with new line character
$aString = array_map('trim',$aString); // remove spacing between left and right
foreach($aString as $index => $strString){  // browse each line
    $aString[$index] = "Hi my name is $strString, what's yours?"; // change to new format
}
$aString = implode("\r\n", $aString); // join array to string
echo $aString; 
于 2013-06-18T02:41:26.090 に答える