如何使用preg_replace更改另一个php / txt文件中的变量名称和值

时间:2015-06-24 02:38:36

标签: php string preg-replace

我使用preg_replace的syntaxis有点问题。我有一个函数,应该在.php文件中替换许多变量的值(如配置文件)。

示例:

file.php:

<?php
$var="string value";
?>

功能:

    function savedata($varname, $newvalue){
        $data = file_get_contents("file.php");
        $newdata = str_replace([find $varname="whatever";], $varname."=$newvalue;", $data);
        file_put_contents("file.php", $newdata);
    }

如果它运行应该将文件设为:

<?php
$var="a new string value";
?>

我找到了

  

preg_replace('/“([^”] +)“/',$ str,$ content)

但仅适用于引用值,如果我尝试添加$ varname。'='...在开始时,我会遇到各种错误。

感谢阅读!

1 个答案:

答案 0 :(得分:1)

您可以执行以下使用preg_quote()preg_replace()

的操作
$data = '<?php
$var="string value";
?>'; # same as file_get_contents("file.php");

$varname = '$var';
$newvalue = 'a new string value';

$newdata = preg_replace('/('. preg_quote($varname) .'=")[^"]+(")/', "$1$newvalue$2", $data);

echo $newdata;