调整PHP中的regex配置文件


Adjusting a regex config file in PHP

我正在研究这个正则表达式:

$regex = '~'''.$var.''s+='s+'''.$oldval.''';~is';

这是完整的代码函数

function write_value_of($var,$oldval,$newval, $file)
{
    $contents = file_get_contents($file);
    $regex = '~'''.$var.''s+='s+'''.$oldval.''';~is';
    $contents = preg_replace($regex, "$var = '$newval';", $contents);
    file_put_contents($file, $contents);
}

$database = 'stats';
$eCoin = '1';

但是我的配置是这样的:

database = stats
eCoin = 1

你的正则表达式应该是:

^([^'s]+)'s+='s+([^'s]+)$

我将你的函数修改如下:

function write_value_of($var,$oldval,$newval, $file)
{
    $contents = file_get_contents($file);
    $regex = "/^{$var}'s+='s+{$oldval}$/m";
    $contents = preg_replace($regex, "$var = '$newval';", $contents);
    file_put_contents($file, $contents);
}