我试图在文本文件中搜索字符串,然后只显示找到的一行.要在标签框中显示找到的行.我的PHP真的很弱.我得到了以下代码,它将在文本区域中显示第一行.下面是文本文件的内容:test.txt文件

First line
Second Line
Third Line
Fourth Line

我的代码如下:

<!DOCTYPE html>
<html>
<body>

<?php
$myfile = fopen("test.txt", "r") or die("Unable to open file!");
echo fgets($myfile);
fclose($myfile);
?>

</body>
</html>

这段代码将第一行返回到文本区域,那么如何将第一行返回到

有没有指向正确方向的指针?

谢谢

推荐答案

您希望在循环中继续fgets($file),并判断搜索字符串是否在结果中,然后当找到搜索字符串时, echo 该行.像这样的事情可能...

while ( $line = fgets( $myfile ) ) {
    if ( str_contains( $line, $search_string ) ) {
        echo $line;
        break;
    }
}

请注意,str_contains仅为php 8及以上.对于较低版本,还有其他方法.

还要考虑,对于这种类型的操作,数据库可能比使用平面文件更好...

Php相关问答推荐

419注册期间Laravel 11中的错误

未在moodle上运行的计划任务

在不超过PHP时间限制的情况下,在Laravel中高效地插入批量数据(25万条记录)?(队列、多租户)

如何更改数据表行背景 colored颜色

如何使用这种格式构建XML?

MULTI UPDATE Laravel为什么只能更新我的第一行

将数组推送到数组时,数组推送()出现问题

PHP根据特定索引值从中删除子数组

在WooCommercestore 页面上显示库存产品属性的值

Laravel 10.x在到达控制器之前将查询参数强制转换为正确的类型

将一个表中的行连接为不同表MYSQL中的一列

Docker-用于部署的 PHP 应用程序映像无法在本地运行

尽管有use指令,PHP 类在其他文件中仍处于可见状态

跟踪通过 WooCommerce 分层定价表插件进行的购买

从图像URL中获取文件扩展名?

PHP 中是否有 is_closure() 函数?

计算组合指数

使用 Eloquent 更新现有的外键值

PHP 中的 curl 验证失败(openssh 连接正常)

我想更新表格中的结果并将它们发布到浏览器,但它不起作用