1

特定のテキストを見つけて代替テキストに置き換えるという問題が発生しています。ファイルのみ.rtfを使用して、以下のコードをテストしています。.txtまた、サーバー内からファイルが書き込み可能であることも確認しています。

これは行き当たりばったりの状況であり、私のコードが間違っているのか、それともファイルを開いて操作するのがおかしいだけなのか、興味があります。

<?php

$filelocation = '/tmp/demo.txt';
$firstname = 'John';
$lastname = 'Smith';

$output = file_get_contents($filelocation);
$output = str_replace('[[FIRSTNAME]]', $firstname, $output);
$output = str_replace('[[LASTNAME]]', $lastname, $output);
$output = str_replace('[[TODAY]]', date('F j, Y'), $output);

// rewrite file
file_put_contents($filelocation, $output);

?>

そのため、demo.txtファイル内には、[[FIRSTNAME]]、[[LASTNAME]]、および [[TODAY]] が散在する約 1 ページのテキストがあります。

検索/置換でヒットとミスがあります。これまでのところ、[[TODAY]] は常に正しく置き換えられますが、名前はそうではありません。

誰かがこの同じ問題を抱えていますか?

(ちなみに、エラーログを確認しましたが、これまでのところ、ファイルを開いたり書いたりしてもPHPの警告/エラーは返されません)

4

2 に答える 2

1

demo.txt の内容を見ないと、確かなことは言えません。私の最初の推測は、ポインターに括弧を使用することに問題がある可能性があるということです。パーセント記号やアスタリスクなど、RTF で使用されないものに変更してみます。例: %%FIRSTNAME%%, **FIRSTNAME** (これはもちろん、demo.txt の内容を制御できることを前提としています。)

于 2013-03-20T18:05:46.010 に答える