PHP - 帮助Regex配置文件

时间:2014-05-19 08:42:11

标签: php regex

有人可以帮助我改变这个正则表达式

$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

1 个答案:

答案 0 :(得分: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);
}