$f = file('words.txt');$words = array();foreach ($f as $w) { $words[] = preg_quote(trim($w), '/');}$text = file_get_contents('text.txt'); $start = microtime(true);$reg = '/' . implode('|', $words) . '/S'; preg_match_all($reg, $text, $m); $r
$f = file('words.txt'); $words = array(); foreach ($f as $w) { $words[] = preg_quote(trim($w), '/'); } $text = file_get_contents('text.txt'); $start = microtime(true); $reg = '/' . implode('|', $words) . '/S'; preg_match_all($reg, $text, $m); $result = array(); $total = 0; foreach ($m[0] as $w) { if (!isset($result[$w])) { $result[$w] = 1; } else { $result[$w]++; } $total++; } $end = microtime(true); echo $end - $start, "\n"; echo $total, "\n"; print_r($result);