在 php 中使用 grep 命令在特定文件中查找字符串
Posted
技术标签:
【中文标题】在 php 中使用 grep 命令在特定文件中查找字符串【英文标题】:Find String withing particular file using grep command in php 【发布时间】:2013-10-20 14:23:48 【问题描述】:我正在上传一个 PDF 文件,我想搜索上传中包含的特定单词
在 php.ini 文件中仅使用 grep 命令。
提前致谢。
【问题讨论】:
PDF 是二进制格式,grep
不起作用。您必须先将 PDF 转换为文本。
@Amal,谢谢.. 但是如何将其转换为 txt 文件,然后使用 grep 命令查找单词。
你试过searching吗?这个问题之前已经回答过很多次了。尝试其中一种解决方案,如果无法正常工作,请更新此问题(或发布新问题)来描述错误/问题。
【参考方案1】:
你可以使用pdfgrep看这个链接How to search contents of multiple pdf files?我也用过几次,它也支持递归搜索。
感谢和问候, 阿洛克·撒克
【讨论】:
【参考方案2】:正如 Amal Murali 在评论中所写,您必须将 PDF 内容转换为文本。这已经在 *** 上解决了,即How to extract text from the PDF document?。 然后你可以使用 preg_match_all,或者如果你真的想使用 grep,你可以使用 proc_open 并通过管道传递文本。
因此,使用来自http://pastebin.com/hRviHKp1 的类(来自文章的链接),这里是 preg_match_all 的示例:
include('class.pdf2text.php');
$a = new PDF2Text();
$a->setFilename('Videographer_RFP.pdf');
$a->decodePDF();
preg_match_all ('some pattern', $a->output(), $matches);
print_r($matches);
请注意,我没有测试过代码。
【讨论】:
以上是关于在 php 中使用 grep 命令在特定文件中查找字符串的主要内容,如果未能解决你的问题,请参考以下文章