使用 PHP 替换文本文件中的行 [关闭]

2023-12-06

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

1_fjd
2_skd
3_fks

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

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


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

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

Code:

$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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 PHP 替换文本文件中的行 [关闭] 的相关文章

  • 为什么我的会话仍然存在?

    我一定很愚蠢 因为似乎一件相当明显的事情现在让我完全困惑 我有一个会议 ie SESSION handbag id 在某个时刻 我需要彻底终止这个会话 ie at the start of the page session start el
  • 正则表达式:删除 xml 的空元素标签

    我想将所有自封闭元素替换为长语法 因为我的网络浏览器在它们上绊倒 Example becomes 我正在使用 python 风格的正则表达式 这些解决方案都不会容纳像 foo gt 这样的属性 尝试 s lt w gt s gt lt 1
  • AWS-PHP-SDK / SNS 直接寻址返回错误

    您好 我正在使用 Laravel 4 设置来利用 AWS SNS 向我的 iOS 设备发送推送消息 从 AWS 控制台向我的设备发布命令效果很好 然后我尝试从 PHP sns AWS get sns sns gt publish array
  • 是否可以将路由参数传递给 Laravel 中的控制器构造函数?

    是否可以将路由参数 或路由段 注入到控制器构造函数中 您找到一些代码来澄清我的问题 class TestController protected param public function construct paramFromRoute
  • 如何使用 PHP 构建正确的 SOAP 请求

    我需要格式化 构建此 SOAP 服务 的请求 http api notificationmessaging com NMSOAP NotificationService wsdl http api notificationmessaging
  • 如何在 PHP 的 HTML 页面中显示错误消息?

    我有以下登录表单 login php 其中要求输入用户名和密码
  • 将 cookie 设置为在当天结束时过期

    我想设置一个 cookie 并让它在一天结束时过期 这有效 但 24 小时后过期 setcookie route upgrade voted true time 86400 这不起作用 setcookie route upgrade vot
  • 使用值填充的 Symfony2 自定义字段类型

    这是先前问题的后续问题Symfony2 自定义表单类型或扩展 https stackoverflow com questions 24079288 symfony2 custom form type or extension 我正在尝试为订
  • 在 foreach 中使用 QueryPath 的多个查找

    我正在使用 QueryPath 和 PHP 这发现 eventdate 没问题 但不会为 dtstart 返回任何内容 qp htmlqp url foreach qp gt find table schedule gt find tr a
  • 在 PHP 字符串中格式化 MySQL 代码

    是否有任何程序 IDE 可以在 PHP 字符串中格式化 MySQL 代码 例如 我使用 PHPStorm IDE 但它无法做到这一点 它对 PHP 和 MYSQL 执行此操作 但不适用于 php 字符串内的 MYSQL 我已准备好使用新的
  • 如何在 Windows 上安装 Zend 框架

    安装 Zend Framework 就是这么简单 是的 对 好吧 我正在写一本初学者的书 有一件不太详细的事情是最重要的部分 安装该死的东西 浏览了几个小时的快速入门指南后 它只说 下载 Zend 添加包含目录 bla bla 然后就完成了
  • 一次从多个表中删除行

    我正在尝试将 2 个查询合并为一个这样的查询 result db gt query DELETE FROM menu WHERE name new or die db gt error result db gt query DELETE F
  • CodeIgniter:My_Lang 中的 get_instance

    我发现这个有用的国际化代码 http pastebin com SyKmPYTX http pastebin com SyKmPYTX 一切正常 除了我无法在此类中使用 CI 函数 我想从 DB 设置 languages 和 special
  • 如何处理 REST api 中的 php 通知、警告和错误?

    在 REST API 中 200 响应表明操作成功 PHP 默认情况下直接在响应正文中输出错误消息 而不更改响应代码 在 SPA 中 用户无法直接看到响应文本 因此 当应用程序未按预期工作时 我通过 FireBug 检查响应正文 以检查可能
  • php - 解析html页面

    div divbox div p para1 p p para2 p p para3 p table class table tr td td tr table p para4 p p para5 p 有人可以告诉我如何解析这个 html
  • PHP 检查当前日期是在设定日期之前还是之后

    我从数据库中提取一个日期 其格式为 dd mm YYYY 我想做的是检查当前日期 如果当前日期早于数据库中的日期 则需要打印数据库日期 如果是在之后 则需要打印 继续 有人能指出我正确的方向吗 if strtotime database d
  • PHP session_regenerate_id 和黑莓浏览器

    问候 我正在开发一个登录系统 并陷入了黑莓浏览器身份验证的困境 他们似乎对 PHP 的 session regenerate id 有问题 有人可以建议替代方案吗 以下是身份验证和登录脚本 UPDATE看来会话一般都不起作用 拿出 sess
  • 如何在 PHP 5.6 中通过 php.ini 设置“verify_peer_name=false”SSL 上下文选项

    案例 我想打开 SSL 连接localhost而 SSL 证书是 FQDN 的问题 问题 没有进行特殊处理就行 下面的程序失败并显示以下消息 PHP Warning stream socket enable crypto Peer cert
  • Javascript Replace() 和 $1 问题

    我正在尝试创建一个脚本来搜索文本中的模式并在它找到的字符串周围包裹一个标签 shop attributes td each function this html function i html return html replace E 0
  • PHP更改小数点分隔符

    在某些情况下 PHP 会在操作后更改小数点分隔符 下面是一个示例 为什么小数点分隔符变成 这是一个多语言网站 在西班牙语版本中 区域设置设置为西班牙语 es ES 小数点分隔符为 这就是为什么正在改变 解决方案是强制 LC NUMERIC

随机推荐

  • API SurveyQuestionImage.Data 字段的正确格式是什么?

    我正在使用 GCS API 尝试使用图像数据创建调查 我在 Net 平台上使用 NuGet 包 Google Apis ConsumerSurveys v2 版本 1 14 0 564 我可以毫无问题地创建不包含图像数据的调查 但是 当我尝
  • 过滤后无法返回子类对象的Stream

    我有一个方法返回一个Stream类型的A 我也有一个亚型B of A 该方法创建一个Stream它填充了以下实例B 它们也是类型A由于继承 这工作得很好 直到我在上面引入一个过滤器Stream 然后 编译器决定 Stream 的类型B并不是
  • PHP:如何访问函数内部已在函数外部声明的变量?

    在每个页面的开头 我包含一个启动会话等的文件 我们称之为session php 在这个文件中session php 我包含一个包含函数的文件 我们称之为function1 php 因为我需要该功能可用session php 但是 稍后在主页
  • Groovy 中的类转换异常

    我想使用 grails 上的 groovy 上传图像 我的gsp页面如下 我显示的是原始的简化版本
  • XSD 断言无法识别

    我有一个 XSD 我想在其中使用xs assert陈述 问题是我不知道如何使断言功能可供我使用 我正在使用 Visual Studio 编写它 它会出现一条蓝线 表示它不支持断言元素 我的 XSD 看起来像这样
  • 检测移动浏览器

    我正在寻找一个函数 如果用户是否使用移动浏览器 该函数会返回布尔值 我知道我可以使用navigator userAgent并使用正则表达式编写该函数 但用户代理对于不同的平台来说太多样化了 我怀疑匹配所有可能的设备会很容易 而且我认为这个问
  • 多个文件是否存储在一个块中?

    当我将许多小文件存储到 HDFS 中时 它们会存储在单个块中吗 在我看来 根据此讨论 这些小文件应该存储到单个块中 HDFS 块大小与实际文件大小 引用自Hadoop 权威指南 HDFS 存储小文件效率低下 因为每个文件都存储在一个块中 并
  • Expect - 根据行和列从屏幕区域获取变量

    我正在使用 Expect 与 SSH 会话和 ERP 程序自动交互 不是依赖正则表达式来捕获我的预期脚本中的变量 是否可以在收到用户的特定击键后将屏幕区域 例如一个字段 捕获到代码中的变量中 向服务器发送一些其他命令并重新发送该字段 假设订
  • 递归 ConcurrentHashMap.computeIfAbsent() 调用永远不会终止。错误还是“功能”?

    前一段时间 我在博客中介绍了一种递归计算斐波那契数的 Java 8 函数方法 有一个ConcurrentHashMap缓存和新的 有用的computeIfAbsent method import java util Map import j
  • 将数组从控制器传递到视图 - Codeigniter

    我尝试在控制器中打印数组 然后将其传递给视图 这是输出 Array annunci gt Array 0 gt stdClass Object EmailDatore gt email protected Nome gt asdasd Co
  • WebSphere 7 中的 Spring 依赖注入(JSR 330 注释)不起作用

    我有一个使用 Java 6 Spring Framework 3 1 2 和 Mule ESB 3 3 0 以及与此问题无关的其他库构建的企业应用程序 我们的豆子和服务都声明为 Named and InjectJSR 330 注释 分别用于
  • 使用 Python 3 将 JSON 转换为 CSV

    我需要从 Meetup API 获取一些数据 将获取的 JSON 转换为 CSV 所有这些都在 Python 3 中进行 我从未使用过 JSON 或 Python 因此遇到了一些问题 获取数据不是问题 但我似乎无法将 JSON 对象解析为正
  • 如何在 ASP.NET MVC 中的 HttpPost 上绑定嵌套对象

    我已经开始实施这个解决方案复杂类型嵌套对象的绑定属性包含和排除属性 但它根本不起作用 同样的问题在这里在 HttpPost 上使用 MVC3 绑定嵌套模型 但没有具体答案 Model Bind Include FirstName Middl
  • 无法从“sklearn.metrics”导入名称“ConfusionMatrixDisplay”

    我收到一条错误消息 cannot import name ConfusionMatrixDisplay from sklearn metrics 当我运行以下导入代码时 from sklearn metrics import Confusi
  • 无法使用“插入”将文本发布到 MySQL

    我正在使用此查询输入前端编辑信息 2 问题 首先 输入数字可以正常工作 但不会发布文本 其次 new type1 和 new type2 是复选框 不能正确发布 query DELETE p FROM bl press as p WHERE
  • 如何在不知道实例对象类型的情况下调用泛型方法

    有了这个代码 World w new World var data GetData
  • 使用不同的包名称跨不同应用程序反/序列化 java 对象

    我想在不同的应用程序之间共享java对象 只要我在不同的项目中使用相同的包名称 它就可以正常工作 但如果我更改包名称 它就不再起作用了 我试图通过扩展来解决这个问题ObjectInputStream类并覆盖readClassDescript
  • 无法使用双击打开.jar,只能使用cmd

    我使用 Eclipse Indigo 制作了一个非常简单的程序 并将其作为可执行 jar 导出到我的桌面 如果我使用命令 java jar SayHello jar 程序就会运行 但是如果我双击桌面上的 SayHello jar 我的鼠标就
  • 无效的 mex 文件、libarmadillo、无法打开共享对象文件

    我知道有很多关于该主题的帖子 这可能是重复的 但我不这么认为 我的配置是 Matlab R2014b clang 3 4 Ubuntu 14 04 armadillo 4 600 4 我有一个本地安装的犰狳 不是系统方面的 所以包括 手动链
  • 使用 PHP 替换文本文件中的行 [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我有一个包含以下数据的文本文件 1 fjd 2 skd 3 fks 我想使用 php 替换文本文件中的一部分 例如我想这样做 找到以 开头的行2 并将其替换为 2 word 所以 2