Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用preg_replace更改另一个php/txt文件中的变量名和值_Php_String_Preg Replace - Fatal编程技术网

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

如何使用preg_replace更改另一个php/txt文件中的变量名和值,php,string,preg-replace,Php,String,Preg Replace,我对使用preg_替换的syntaxis有点问题。我有一个函数,它应该在.php文件中替换许多变量的值(比如配置文件) 例如: file.php: <?php $var="string value"; ?> 如果运行,则应将文件设置为: <?php $var="a new string value"; ?> 我发现 preg_replace(“/”([^“]+)“/”,$str,$content) 但只适用于引用的值,如果我尝试添加$varname.'='…在开始

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

例如:

file.php:

<?php
$var="string value";
?>
如果运行,则应将文件设置为:

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

我发现

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

但只适用于引用的值,如果我尝试添加$varname.'='…在开始时,会出现各种错误


感谢阅读!

您可以使用和执行以下操作:

$data='';与文件获取内容(“file.php”)相同;
$varname='$var';
$newvalue='一个新字符串值';
$newdata=preg_replace(“/(”.preg_quote($varname)。“=”[^“]+(”/”),“$1$newvalue$2”,$data);
echo$newdata;

非常感谢,当我尝试使用许多变量时,值变为空,但是在remplace数据
“$1$newvalue$2”
$varname.=\”“.$newvalue.\”
中做了一点小小的更改,现在它工作得非常好,敬请期待!
<?php
$var="a new string value";
?>
$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;