2

让我们承认我们有一个巨大的文本文件,更确切地说是一个 ics 文件。巨大的... 10MB 或更多
我们只想用 php

'开始:事件
创建:20111130T144848Z'
...

到下一次出现

...
 “结束:事件”。

为了将它用作数组
有人有提示吗?

4

1 回答 1

1

尝试这样的事情:

$numb=0;
$result=array();
$handle = @fopen("inputfile.txt", "r");
$exit=0;
  while (($buffer = fgets($handle) && $exit==0) {
        if(strpos($buffer,'BEGIN:VEVENT')){
          $onoff=1;
        }
        if ($onoff==1){
          $result[$numb]=$buffer;
          $numb=numb+1;
        }
        if(strpos($buffer,'END:VEVENT')){
          $onoff=0;
          $exit=1;
         }

    }
  if (!feof($handle)) {
      echo "Error: unexpected fgets() fail\n";
  }
  fclose($handle);
 }
于 2013-05-29T16:05:45.017 回答