Transforms a string to lower case

Example:
```php
echo Strings::toLower("But Angie, Angie, you can't say we never tried");

// Outputs: "but angie, angie, you can't say we never tried"
```

@param  string $str The string to transform
@return string
760670
public static function toLower($str)
    {
        return self::$use_mbstring
            ? mb_strtolower($str, self::$char_set)
            : strtolower($str);
    }
1110372
public static function toAscii(string $str) : string
    {
        $clean = preg_replace('/[^a-zA-Z0-9\.\/_|+ -]/', '', $str);
        $clean = strtolower(trim($clean, '-'));
        $clean = preg_replace('/[\/_|+ -]+/', '-', $clean);

        return $clean;
    }
584383
private function _do_never_allowed(string $str): string
    {
        static $NEVER_ALLOWED_CACHE = [];

        $NEVER_ALLOWED_CACHE['keys'] = null;
        $NEVER_ALLOWED_CACHE['regex'] = null;

        if ($NEVER_ALLOWED_CACHE['keys'] === null) {
            $NEVER_ALLOWED_CACHE['keys'] = \array_keys($this->_never_allowed_str);
        }

        $str = \str_ireplace(
            $NEVER_ALLOWED_CACHE['keys'],
            $this->_never_allowed_str,
            $str
        );

        // ---

        foreach (self::$_never_allowed_call as $call) {
            if (\stripos($str, $call) !== false) {
                $str = (string) \preg_replace(
                    '#([^\p{L}]|^)' . $call . '\s*:#ius',
                    '$1' . $this->_replacement,
                    $str
                );
            }
        }

        // ---

        if ($NEVER_ALLOWED_CACHE['regex'] === null) {
            $NEVER_ALLOWED_CACHE['regex'] = \implode('|', self::$_never_allowed_regex);
        }

        $str = (string) \preg_replace(
            '#' . $NEVER_ALLOWED_CACHE['regex'] . '#ius',
            $this->_replacement,
            $str
        );

        return $str;
    }
828492
public static function getString(&$str)
    {
        $p = mb_orig_strpos($str, "\x00");
        if ($p === false) {
            return '';
        }
        $r = mb_orig_substr($str, 0, $p);
        $str = mb_orig_substr($str, $p + 1);
        return $r;
    }
1320355
public static function lcFirst($str)
    {
        if (self::$use_mbstring) {
            $first = self::toLower(self::sub($str, 0, 1));
            $str   = $first . self::sub($str, 1);
        } else {
            $str   = lcfirst($str);
        }
        
        return $str;
    }
20572
private function escapeValue(&$str): string
    {
        $search = [
            $this->symbRel,
            $this->sepComp,
            $this->sepData,
            $this->symbEnd,
        ];
        $replace = [
            $this->symbRel . $this->symbRel,
            $this->symbRel . $this->sepComp,
            $this->symbRel . $this->sepData,
            $this->symbRel . $this->symbEnd,
        ];

        return \str_replace($search, $replace, $str);
    }
523464
public static function toVariable($str)
  {
    // Remove dashes and underscores, then convert to camel case.
    $str = self::toSpaceSeparated($str);
    $str = self::toCamelCase($str);

    // Remove leading digits.
    $str = preg_replace('#^[0-9]+.*$#', '', $str);

    // Lowercase the first character.
    $first = substr($str, 0, 1);
    $first = mb_strtolower($first);

    // Replace the first character with the lowercase character.
    $str = substr_replace($str, $first, 0, 1);

    return $str;
  }
1041691
public static function convertQuotes($str)
    {

        $r = "/\[q(?:uote)?\](.*?)\[\/q(?:uote)?\]/is";
        while(preg_match($r, $str)){
            $str = preg_replace($r, '<blockquote class="quote"><p>\\1</p></blockquote>', $str);
        }

        return $str;
    }
10669
public static String toLowerCaseWithUnderscore(final String str) {
        if (N.isNullOrEmpty(str)) {
            return str;
        }

        String result = lowerCaseWithUnderscorePropNamePool.get(str);

        if (result == null) {
            result = StringUtil.toLowerCaseWithUnderscore(str);
            lowerCaseWithUnderscorePropNamePool.put(str, result);
        }

        return result;
    }
781958
public function translate($str, $spacer = null, $toLower = null)
    {
        if ($spacer === null) {
            $spacer = $this->spacer;
        }
        if ($toLower === null) {
            $toLower = $this->toLower;
        }
        $str = strtr($str, $this->table);
        if (is_callable($this->after)) {
            $str = call_user_func($this->after, $str);
        }
        // replace all non alpha-numeric characters
        $str = preg_replace('~[^' . ($this->useDot ? '\.' : '') . '\s\w\d_\-]~uism', empty($this->replaceSpecial) ? '' : $this->replaceSpecial, $str);
        // replace spaces
        $str = preg_replace('/\s/u', $spacer, $str);
        if ($toLower) {
            $str = strtolower($str);
        }
        return $str;
    }
920530
private function toLowerChars($s)
    {
        $lowerFilter = new \Zend\Filter\StringToLower;
        $lowerFilter->setEncoding('utf-8');
        return $lowerFilter->filter($s);
    }
843650
public static function toKey($str)
  {
    // Remove spaces and dashes, then convert to lower case.
    $str = self::toUnderscoreSeparated($str);
    $str = mb_strtolower($str);

    return $str;
  }
385645
public static function firstLetter($str, $lower = false)
    {
        $string = trim($str);
        if (empty($str)) {
            return '';
        }

        $string = preg_replace('/[^a-zA-Z0-9]/', '', $string);
        if (empty($string)) {
            return '';
        }

        if ($lower) {
            $string = strtolower($string);
        }

        return $string[0];
    }
1061176
public static function lower($str, $encoding = null) {
        $encoding or $encoding = \Fuel::$encoding;
        return function_exists('mb_strtolower') ? mb_strtolower($str, $encoding) : strtolower($str);
    }
573970
public static function shyphenate($str)
    {
        $res = preg_match_all('/([a-z0-9]{19,})/i', $str, $matches);

        if ($res) {
            foreach ($matches[1] as $key => $match) {
                $str = str_replace($match, wordwrap($match, 10, '&shy;', true), $str);
            }
        }

        return $str;
    }
343134
public static String lowerCaseFirstChar(String _str) {
        if (_str == null) {
            return null;
        }
        if (_str.isEmpty()) {
            return _str;
        }

        return _str.substring(0, 1).toLowerCase() + _str.substring(1);
    }
4657
public static function lowerCaseFirst($str, $encoding = null)
    {
        return (string) Stringy::create($str, $encoding)->lowerCaseFirst();
    }