php - 编辑文件中的值

时间:2014-06-21 19:27:47

标签: php html

我无法编辑已从文件中显示的值。 我收集了一些碎片,我不完全理解,但给了我所需的功能。 非常感谢所有可能的帮助。

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

搜索" S1value1"在sample.yml中显示"之后的内容:" (这一切都很好)

的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

由于

1 个答案:

答案 0 :(得分:0)

假设您现在有' one'作为值。你可以用非常简单的模式使用preg_replace

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

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

([ ]){1}表示其前面有一个空格和([a-z]){3}三个小写字母,这些字母位于az之间,或者是' two'到{{1}}。

逗号{{1}}之后的

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

PS:我在正则表达式中不是那么好,请纠正我,如果我错了