*.txt
文章のファイルを解析するのに役立つ可能性のあるいくつかの既知のPHPライブラリについてお聞きしたいと思います。大きすぎるテキストファイルを解析する必要があるため、ストリームパーサー(文ごと)を作成することにしました。
次のように、ファイルを文ごとに繰り返すのはかなり良いと思いました。
foreach (new SentenceIterator("./data/huge.txt") as $sentence)
{
// do something...
}
主なアイデアは、ファイルをメモリに完全にロードする必要があるということです。
私が試したこと:
$f = fopen("./data/huge.txt", "r");
$dataBytes = 64;
$buffer = '';
while (!feof($f))
{
$data = fread($f, $dataBytes);
$dotPosition = strpos($data, '.');
if (false !== $dotPosition)
{
$sentence = $buffer . substr($data, 0, $dotPosition);
// correct cursor position
fseek($f, -1 * $dotPosition, SEEK_CUR);
// clear buffer
$buffer = '';
continue;
}
$buffer .= $data;
}
しかし、この場合、私は壊れた(途切れた)文になります。
誰かが私にいくつかの既存のライブラリまたはおそらく私のコードを修正する方法を提案できますか?
事前にThx。