public function get($raw_text, $limit = -1)
{
$strtolower = $this->mb ? 'mb_strtolower' : 'strtolower';
$strlen = $this->mb ? 'mb_strlen' : 'strlen';
$substr = $this->mb ? 'mb_substr' : 'substr';
$text = preg_replace($this->regex, '_', $strtolower($raw_text));
if ($limit > 0) {
$text = $substr($text, 0, $limit);
}
$len = $strlen($text);
$min = $this->min;
$max = $this->max;
$ngrams = array();
for ($i = $min; $i <= $max; $i++) {
for ($e = 0; $e < $len; $e++) {
$ngrams[] = $substr($text, $e, $i);
}
}
return $ngrams;
}