1

だから私は次の機能を得ました:

function searchWord($fileName, $str) {
    $addthis = “string”;
    $lines = file($fileName);
    foreach ($lines as $lineNumber => $line) {
            if (strpos($line, $str) !== false) {
                    $lines[$lineNumber] = $lines[$lineNumber].$addthis
           file_put_contents($filename, implode($lines) . PHP_EOL);
                    break;
            } else {
                    // do nothing
            }
    }

}

ファイル $fileName で特定の文字列 $str を検索します。次に、$str が見つかった行 $lineNumber の END (!!) に $addthis を追加する必要があります。

コードが現在行っていることは、$addthis を行頭に追加することです。Web を検索しましたが、問題に対する満足のいく解決策を思いつくことができませんでした。

4

2 に答える 2

1

改行文字を行末から削除してから、ファイルに書き戻す前に改行文字を行末に追加する必要があります。以下の更新された行が役立ちます。

$lines[$lineNumber] = trim($lines[$lineNumber]).$addthis.PHP_EOL;

また、書き込みはループの後に行う必要があります。

于 2013-11-06T12:05:11.860 に答える