php - 使用PHP替换文本文件中的行

标签 php regex replace

<分区>

我有一个包含以下数据的文本文件:

1_fjd
2_skd
3_fks

我想用 php 替换我的文本文件中的一部分。例如我想这样做:

找到以“2_”开头的行并将其替换为“2_word”,因此“2_”之后的所有内容都将替换为:“word”。我如何在 php 中执行此操作?

最佳答案

为此您不需要正则表达式。尝试以下操作:

  • 使用file() 将文件加载到数组中并循环遍历行
  • 检查字符串是否以2_开头
  • 如果是,将其替换为输入的 $word 并将其连接到 $result 字符串
  • 如果没有,只需将它连接到 $result 字符串
  • 使用file_get_contents()并将结果写入文件

代码:

$lines = file('file.txt');
$word = 'word';
$result = '';

foreach($lines as $line) {
    if(substr($line, 0, 2) == '2_') {
        $result .= '2_'.$word."\n";
    } else {
        $result .= $line;
    }
}

file_put_contents('file.txt', $result);

现在,如果替换发生了,那么 file.txt 将包含如下内容:

1_fjd
2_word
3_fks

关于php - 使用PHP替换文本文件中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18991843/

相关文章:

bash - 如何使用 awk 或 sed 递归查找/替换字符串?

php - 如果第一个或最后一个字母是 utf8,则 preg_match_all 失败

regex - 如何将所有文件重命名为小写(已解决)并同时将空格重命名为下划线

php - Chrome 正在导出错误的 "file extension"而不是 xls

c# - 在正则表达式模式中使用括号

ruby - 如何在 Ruby 中从字符串中去除前导和尾随引号

linux - 使用 Sed 从日期中删除秒数

jquery - 使用 jQuery 替换 H3 标题中的文本

php - 数据库文本无法解析为 JSON

php javascript html,为什么这不起作用?