所以,我的代码如下:
$data = file_get_contents("js/plugins.js");
if (isset($_GET['resx'])) {
if (isset($_GET['resy'])) {
$data = str_replace('"Screen Width":"1366","Screen Height":"768"', '"Screen Width":"$resx","Screen Height":"$resy"', $data);
}
}
file_put_contents("js/web_settings.js", $data);
我要做的是在URL栏中定义多个变量,网站将更新文件。显然,它似乎是用变量名本身替换字符串,而不是用这些变量的值替换它。 (因此,如果resx是1280,则1366变为$ resx而不是1280)由于游戏引擎的工作方式,引号需要在那里。我如何解决这个问题,以便用这些变量的值替换它?
答案 0 :(得分:1)
将"
替换为\"
,将'
替换为"
。它将允许在字符串中使用变量。
$data = str_replace("\"Screen Width\":\"1366\",\"Screen Height\":\"768\"", "\"Screen Width\":\"$resx\",\"Screen Height\":\"$resy\"", $data);
清空替换,因为$ resx和$ resy不存在:
$data = str_replace('"Screen Width":"1366","Screen Height":"768"', '"Screen Width":"'.$_GET['resx'].'","Screen Height":"'.$_GET['resy'].'"', $data);
或者制作$ resx = $ _GET [' resx'];在replace
之前。如果启用了错误输出,您会立即注意到它。
答案 1 :(得分:0)
'Screen Width":"1366","Screen Height":"768"', '"Screen Width":"' . $resx . '","Screen Height":"' . $resy.'"', $data
你需要使用' 。回到变量:' string' 。 $变量。 '再次串起来';