public static function getFirstOccurringRegularExpression($regex_array, $query) { $minimum_first_occurence_index = null; $regex = null; foreach ($regex_array as $test_regex) { if (preg_match($test_regex, $query, $matches, PREG_OFFSET_CAPTURE)) { if (is_null($minimum_first_occurence_index) || $matches[0][1] < $minimum_first_occurence_index) { $regex = $test_regex; $minimum_first_occurence_index = $matches[0][1]; } } } return $regex; }