1

多数の構成ファイルを自動的に変更する、現在のプロジェクト用のインストーラーを作成したいと考えています。

したがって、フォームが送信された場合、PHP スクリプトは、検索されたオプションがどの構成ファイルにあるかを調べて変更する必要があります。あなたが尋ねる前に、私はファイルをまとめることができません ;) .

基本的な構成行は次のようになります $config['base_url'] = 'test';。使用しようとしましstr_replace()たが、現在変数に何が入っているのかわからないため、これは機能しませんでした。

したがって、複数のファイルを検索して(たとえば)に$config['base_url'] = '%';置き換える関数が必要です。$config['base_url'] = 'new_value';

4

2 に答える 2

2

'答えが受け入れられたことに気づき、元々これを削除しましたが、コメントで構成が編集可能であると述べています。これはおそらく他のユーザーによるものであるため、間隔が一致することや、代わりに使用されることを保証することはできません。"常に、以下はおそらくもう少し寛容です

$name = 'base_url';
$value = 'new_value';
$config = '$config["base_url"] = "old_value";';

$config  = preg_replace('/\[(?:\'|\")'.$name.'(?:\'|\")\]\s*=\s*(\'|\")(.*)\\1;/', "['".$name."'] = '$value';", $config);

echo '<pre>', var_dump($config), '</pre>';
于 2013-03-23T13:19:09.057 に答える
0

次のような正規表現を使用できます。

/\$config\['base_url'\] = '[a-zA-Z0-9]';/

各行に適応する必要があります。

私の意見では、より良い解決策は、次のような行を含むテンプレート構成ファイルを作成することです。

$config['base_url'] = '%BASE_URL%';

単純に使用できる場所str_replace()

于 2013-03-23T13:09:48.353 に答える