PHP搜索文本文档(.txt),抓取整行和行号

时间:2010-09-01 22:43:38

标签: php line fetch text-files

感谢您抽出宝贵时间阅读本文,我将感谢每一个回复,无论内容的质量如何。 :)

我正在尝试创建一个php脚本,用于在文本文件中搜索特定文本。一个人在HTML表单中键入特定文本,php脚本应该在文本文件中搜索该特定文本。

HTML表单的输入字段的值是“username”,在php文档中,变量“$ username”是输入的数据,示例如下所示:

$username = $_POST['username'];

下面的文本文件名为“rank_order.txt”:

  

7 AULLAH1

     

13 SupremeGamer

     

13 AULLAH1

     

15 abc123

如果一个人输入HTML表单“AULLAH1”,我希望php脚本在文本文件中抓取第一个“AULLAH1”条目(例如,它应该抓住第一行而不是第一行,作为第一行line是包含文本“AULLAH1”的第一个条目。此外,当一个人键入特定文本时,它不应该简单地抓取文档或文本,它应该抓住整行:“7 AULLAH1”并将其放入php变量,可能类似于“$ grabbed” “?如果可能的话。

同样,如果它从第3行抓取数据,php变量是否可以代表第3行?如果从第23行抓取数据,那么php变量可能再次代表第23行(如果它从第1行抓取,那么php变量是否可以保持数字1?等等......)

感谢所有的帮助,我期待着您的回复;谢谢。 :)如果我没有清楚地解释任何内容和/或您希望我更详细地解释,请回复。 :)

谢谢。

2 个答案:

答案 0 :(得分:2)

fopen,fgets,fclose将带领您走向一般的文件处理方向。

http://php.net/fgets

尝试在空间上爆炸以获取列。一旦您对此感到满意,您可以考虑将数据存储在数据库中。

答案 1 :(得分:2)

几种解决方案:

  1. 通过文档的行重复,有很多关于此的方法文章,这将使您能够计算行数。对于每行检查使用正则表达式输入用户输入的字符串

  2. 使用正则表达式搜索文档的文本,preg_match()将返回您正在搜索的字符位置。一旦您知道文本的字符位置,您搜索的可以计算在搜索结果位置之前出现“\ n”(新行字符)的次数。

  3. 将文本加载到数据库中,然后使用数据库的搜索功能,如全文搜索或LIKE %...%语句来搜索文本。然后一些如何计算新行字符的数量(\ n)直到找到的搜索文本。