我无法编辑已从文件中显示的值。 我收集了一些碎片,我不完全理解,但给了我所需的功能。 非常感谢所有可能的帮助。
我有一个网站,在找到匹配项后显示值:
搜索" 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
由于
答案 0 :(得分:0)
假设您现在有' 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'
到{{1}}。
是实际的替换。它可以是你想要的任何东西。第三个是我们取代的目标。
PS:我在正则表达式中不是那么好,请纠正我,如果我错了