我試圖按字解析文本文件,我需要能夠從文件開頭存儲每個單詞的偏移量,以便我可以然後在文本文件中找到該單詞的確切實例。現在我正在處理一些非常大的文本文件,所以我想知道做這件事最有效的方法是什麼?用PHP解析文本文件並保留每個單詞的偏移量
編輯:一些更多的細節。
我將在數據庫中有兩個表。讓我們稱他們爲單詞,它存儲單詞和參考文獻,這些參考文獻是每個單詞對文件的引用。
的參考表將是這樣的:
id INT PRIMARY
file_id INT /* ID of the text file */
offset INT /* Offset from the start of the file to get to the start of the word */
接話的每條記錄都有其相關的參考記錄a referenced_id。
這是一個簡化的例子。實際上,我會在另一張表中將WORDS中的每條記錄與REFERENCES中的一條或多條記錄相關聯,因爲在許多文件中每個單詞可能有很多實例。
所有這些的目的是爲了能夠準確地顯示在搜索時已找到單詞的實例。所以當我找到這個詞時,我可以得到它的參考,然後從文本文件中摘錄一段。
真的取決於以後使用,請擴展問題。舉個例子。 – 2011-05-07 12:20:55
PHP不是用來處理非常大的文件的。使其異步,選擇另一種語言,如C,Python或Perl,並從PHP調用解析器。 – 2011-05-07 13:06:35