如何使用preg_replace更改另一个php/txt文件中的变量名和值
我对使用preg_替换的syntaxis有点问题。我有一个函数,它应该在.php文件中替换许多变量的值(比如配置文件) 例如: file.php:如何使用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.'='…在开始
<?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;