0

假设有一个名为 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;
}

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

4

2 回答 2

0
$file_handle = fopen("posts/1.txt", "r");
while ((!feof($file_handle) && (($line_of_text = fgets($file_handle)) != "<!--Read More-->")) 
{
  print $line_of_text;
}
于 2013-02-06T11:23:54.393 回答
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;
    }
}
于 2013-02-06T11:24:58.817 回答