我想获取file.txt的内容并将其打印到某个关键字php

时间:2013-02-06 11:19:59

标签: php fopen

让我们考虑一个名为1.txt的文本文件,其中包含以下内容。

wow<br>wow<br>wow<!--Read More--><br>wow<br>wow<br>wow<br>wow<br>wow<br>wow<br>

我想只显示其内容<!--Read More--> 目前我正在使用fopen命令来读取和显示整个文本文件。

$file_handle = fopen("posts/1.txt", "r");
while (!feof($file_handle)) {
$line_of_text = fgets($file_handle);
print $line_of_text;
}

请有人帮我解决这个问题......

2 个答案:

答案 0 :(得分:0)

$file_handle = fopen("posts/1.txt", "r");
while ((!feof($file_handle) && (($line_of_text = fgets($file_handle)) != "<!--Read More-->")) 
{
  print $line_of_text;
}

答案 1 :(得分:0)

警告:仅当您的“停止文字”始终位于同一行时才有效

您可以使用strstr()函数检查您阅读的行是否包含要停止的字符串。

使用您的行作为第一个参数调用它,作为第二个参数搜索的字符串和true作为第三个参数将返回false如果搜索的字符串不在行中或它将返回在搜索字符串之前 行的一部分。

$file_handle = fopen("posts/1.txt", "r");
while (!feof($file_handle)) {
    /* Retrieve a line */
    $line_of_text = fgets($file_handle);
    /* Check if the stop text is in the line. If no returns false
       else return the part of the string before the stop text */
    $ret = strstr($line_of_text, "<!--Read More-->", true);
    /* If stop text not found, print the line else print only the beginning */
    if (false === $ret) {
        print $line_of_text;
    } else {
        print $ret;
        break;
    }
}