我在编辑已经从文件中显示的值时遇到麻烦。我收集了一些零碎的东西,我不完全理解,但给了我想要的功能。非常感谢您的帮助。
我有一个网站,在找到匹配后显示值:
在样本中搜索"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:我不擅长正则表达式,请纠正我,如果我错了