首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从大型文本文件(可变长度文本)中读取选定内容

从大型文本文件(可变长度文本)中读取选定内容
EN

Stack Overflow用户
提问于 2014-01-22 23:34:41
回答 1查看 372关注 0票数 0

我希望在一个大文本文件中的两个标记之间读取文件的内容(因此由于我的服务器提供程序上的内存限制,无法同时读取整个文件)。这个文件大约有500000行文字。

这( PHP: Read Specific Line From File )不是一个选项(我不认为),因为我需要阅读的文本长度不同,将占用多行(从20-5000行不等)。

我计划使用fopen,fread (只读)和fclose来读取文件内容。我已经有使用这些功能的经验了。

我希望读取文件的选定部分中的所有内容。

文件内容示例

代码语言:javascript
复制
    <<TAGNAME-1>>AAAA AAAA AAAA<<//TAGNAME-1>>
    <<TAGNAME-2>>TEXT TEXT TEXT<<//TAGNAME-2>>

在我的脚本中调用"AAAA AAAA AAAA"作为变量时,要在<<TAGNAME-1>><<//TAGNAME-1>>之间选择文本TAGNAME-1

如何在所需的两个标记之间选择所有文本?(忽略文件的其余部分)我有能力在我的php脚本中创建需要的两个标记--我的问题是在fread函数中实现这一点。

EN

回答 1

Stack Overflow用户

发布于 2014-01-23 00:53:23

您可以使用grep作为文本文件,它只返回带有匹配标记的文本。

代码语言:javascript
复制
 $tagnum = 2;     //variable 
 $pattern = "<<TAGNAME-";   
 $searchstr = $pattern.$tagnum;   //concat the prefix with the tag number
 $fpath ="testtext.txt";  //define path to text file
 $result = exec('grep -in "'.$searchstr.'" '.$fpath);
 echo $result;

其中$tagnum将定义要搜索的每个标记。我已经在我的沙箱中测试过它,它的工作原理和预期一样。注意,这将读取整行,直到到达尾tad或换行符为止。致以敬意,

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21296370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档