在我的应用程序中,我有一个.cfg文件,其中包含如下变量:
variable1=test
variable2=someOtherValue
variable3=somethingElse
我想要做的是替换这些变量的值,而不知道它们在文本文件中的位置。我希望它找到变量并替换它背后的值。像函数一样:updateVariable("variable1", "aNewValue");
我正在使用PHP。
之前很有可能会问这个问题,但我不确定在搜索引擎中查找什么
答案 0 :(得分:1)
<强>功能强>
(Brand1 or Brand2) AND Color1
<强>用法强>
function updateVariable($filePath, $varName, $newValue) {
$contents = file_get_contents($filePath);
preg_match_all("/$varName=.+/i", $contents, $matches);
foreach ($matches as $find) {
$replace = $varName . '=' . $newValue . PHP_EOL;
$contents = str_replace($find, $replace, $contents);
}
$fh = fopen($filePath, 'wb');
fwrite($fh, $contents);
fclose($fh);
}
答案 1 :(得分:0)
打开您的文件,然后使用str_replace
$mystring = fopen($filename, "wb");
$newstring = str_replace("variable1", "newvalue", $mystring);
要获取旧值(varaible1),您必须逐行搜索
foreach($lines as $line)
{
if(strpos($line, $search) !== false)
echo $line;
$new_str = substr($line, ($pos = strpos($line, ',')) !== false ? $pos + 1 : 0);
}