public static function extractKatakana($str, $length = 0, $yoon = false)
    {
        // No length given, extract katakana substrings as it is.
        if(!$length) {
            return preg_split(self::PREG_PATTERN_NOT_KATAKANA, $str, 0, PREG_SPLIT_NO_EMPTY);
        }

        // Otherwise...
        // remove any non katakana characters and split the remaining string as per
        // the given length
        $str = preg_replace(self::PREG_PATTERN_NOT_KATAKANA, "", $str);
        return self::split($str, $length, $yoon);
    }