dongxun1142 2017-04-20 22:09
浏览 33

如何打印文本文件的特定行?

I have a program that searches a text file to see if a certain string is in that file, which I have gotten to work fine. What I need to know is how to print a particular line of that text file. For example, if the file lists three street names each on its own line, and the program searches for one of them, I would want it to print out only the line that has that street name on it.

If the file looked like this: and the word being searched for was Rose Road, I want it to only print out 6784 Rose Road

4543 Drock Drive
1254 HeadHill Road
6784 Rose Road

This is what I have so far, which checks if it's in the file, but I am just unsure how to print out a particular line.

$roadName = "Rose";
$handle = fopen("streets.txt", "r");
if(strpos(file_get_contents("streets.txt"),$roadName) !== false) //Checks to make sure its in the file.
{
    echo fgets($handle); //This is what I was trying, but it only prints the 1st line.
}
  • 写回答

2条回答 默认 最新

  • dongshen3352 2017-04-20 22:30
    关注

    I would explode the lines into an array and the check every line:

    $roadName = "Rose";
    $file=file_get_contents("streets.txt")
    if(strpos($file,$roadName) !== false) //Checks to make sure its in the file.
    {
      $lines = explode(PHP_EOL,$file);
      foreach($lines as $line) {
        if (strpos($line,$roadName) !== false) echo($line);
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c