Php 找到一个特定的行并替换为一个新的行?

Php 找到一个特定的行并替换为一个新的行?,php,regex,codeigniter,Php,Regex,Codeigniter,我有一个.php文件,其中包含如下数组数据: $config['setting_one'] = true; $config['setting_two'] = "some string"; $config['setting_three']['option1'] = "some string"; 找到以$config['setting_two']开头的行并用$config['setting_two']=新字符串替换该行的正确方法是什么;新字符串将来自post值。您必须使用 没有正确的方法 正确的方

我有一个.php文件,其中包含如下数组数据:

$config['setting_one'] = true;
$config['setting_two'] = "some string";
$config['setting_three']['option1'] = "some string";

找到以$config['setting_two']开头的行并用$config['setting_two']=新字符串替换该行的正确方法是什么;新字符串将来自post值。

您必须使用


没有正确的方法

正确的方法是不要那样做

您可以包含php代码,然后通过简单的设置来更新变量


您想做什么?

您的一行中缺少一个引号:$config['setting_three']['option1']=一些字符串-1用于重新发布并忽略给定的建议。这里的新答案对任何未来的用户来说都不是有用的参考。可能是@mario的重复,在检查之前给-1个代表是不公平的。在发布新帖子之前,我删除了旧帖子。我刚刚发表了一篇新文章,因为我想显示我正在处理的php文件的内容。通过写一个更合适的问题来寻求更好的建议是犯罪吗?@mario我想修正一下投票结果。请告诉我怎么做。谢谢你的帮助。有一个函数可以做到这一点。我正在为一个项目构建一个web管理面板,我想在获得发布的首选项后更改这些配置值。例如,当我获得一个post值时,告诉我新的值设置是什么,我需要在php文件中找到这一行并用新值替换它。这个文件是用户可编辑的吗?因为如果是这样,解析器需要处理更复杂的完整PHP语法。如果不是这样,您可能不需要对数组键名进行搜索和替换。更好的方法可能是每次从头开始生成文件。您是否需要向用户显示这些值,以便用户可以编辑它们?因为如果是这样的话,用户可以编辑文件,他们可以在那里输入一些可能会把事情搞砸的代码。回答我的两个问题,我会给你一个更好的答案。是的,文件是可编辑的。用户将发布一些给定的值或字符串,我将在php文件中找到该行并替换其值。@yahyaE好的,如果该文件是用户可编辑的,则您不能尝试替换该行。而是使用include在PHP中加载文件。对$config变量进行所需的任何更改。然后从头开始写出文件。但是要非常小心!因为用户可以编辑文件,所以他们可以在其中放入任何他们想要的代码,包括完全消除任何安全性的代码。
$config = array();

while(($line = fgets($handle, 4096) ) !== false) {
    $config[] = $line;
}