我创建了一个简单的脚本,用于在txt文件中搜索关键词。
<?php
$search_term = "lorem";
$file = file('textfile.txt');
foreach($file as $line_number => $line){
$row = preg_match('/' . $search_term . '/i', $line);
echo $row;
}
TXT文件有>7000行,总共~ 6mb
在php 5.6, 7.0或7.1中,脚本运行时间为60 - 100毫秒,但在php>= 7.2中,执行时间高达3.5秒。
我比较了每个versión的php.ini文件,我没有看到PCRE选项有任何差异。
有人能帮我吗?
提前感谢。
这可能更适合你,而且速度很快。
$words=explode(' ',$words);
$words=implode('|',$words);
$search=shell_exec( "grep -E '{$words}' data.txt");
$search=explode('n',$search);
foreach($search as $line){echo '<p>'.$line.'</p>';};
您概述的方法也将使用大量内存。我的例子将使用next to nothing