DaveChild\TextStatistics\Pluralise::getSingular PHP Method

getSingular() public static method

Get the singular of the word passed in.
public static getSingular ( string $string ) : string
$string string Word to singularise
return string Singularised word
    public static function getSingular($string)
    {
        // save some time in the case that singular and plural are the same
        if (in_array(strtolower($string), self::$uncountable)) {
            return $string;
        }
        // check to see if already singular and irregular
        foreach (self::$irregular as $pattern => $result) {
            $_pattern = '/' . $pattern . '$/i';
            if (preg_match($_pattern, $string)) {
                return $string;
            }
        }
        // check for irregular plural forms
        foreach (self::$irregular as $result => $pattern) {
            $pattern = '/' . $pattern . '$/i';
            if (preg_match($pattern, $string)) {
                return preg_replace($pattern, $result, $string);
            }
        }
        // check for matches using regular expressions
        foreach (self::$singular as $pattern => $result) {
            if (preg_match($pattern, $string)) {
                return preg_replace($pattern, $result, $string);
            }
        }
        return $string;
    }