编辑文件中的值


edit values from file

我在编辑已经从文件中显示的值时遇到麻烦。我收集了一些零碎的东西,我不完全理解,但给了我想要的功能。非常感谢您的帮助。

我有一个网站,在找到匹配后显示值:

在样本中搜索"S1value1"。并显示":"后面的内容(这一切都很好)

search.php

$lines_array = file('sample.yml');
$search_string = "S1value1";
foreach($lines_array as $line) {
  if(strpos($line, $search_string) !== false) {
    list(, $new_str) = explode(":", $line);
    $new_str = trim($new_str);
    }
}

display.php

<form action="edit_value.php" method="POST">
  <td>S1value1:</td>
  <td>Value:<input type="text" name="input1" value=<?php echo "$new_str"; ?>><input type="submit" name="submit" value="Save"></td>
</form>

但是在display。php中我希望能够编辑输入文本框中的内容并保存文件

(我不知道怎么做)

edit_value.php

Have no idea what to do here :(

下面是一个示例输入文件。我用的是。yml,不能改变。

sample.yml

Service1:
   S1value1: one
   S1value2: two
Service2:
   S2value1: one
   S2value2: two

谢谢

假设当前的值为' one'。您可以使用非常简单的模式使用preg_replace。

$str = ' one';    
$str = preg_replace('/([ ]){1}([a-z]){3}/', ' two', $str);

模式([ ]){1}([a-z]){3}

([ ]){1}前加一个空格,([a-z]){3}前加三个小写字母,在a ~ z之间或之间。

逗号' two'后的

是实际替换。它可以是任何你想要的。第三个是我们要替换的目标

PS:我不擅长正则表达式,请纠正我,如果我错了