eXorithm – Execute Algorithm: View / Run Algorithm pluralize

Logo Beta

function pluralize ($word$exceptions
{
  if (array_key_exists$word$exceptions))
    return $exceptions$word];
  
  if (substr_compare$word'y', -1, 1)==0) {
    if (in_arraysubstr$word, -2, 1), array'a''e''i''o''u''y'))===false)
      return substr$word, 0, -1).'ies'
    else
      return $word's'
  }
  
  if (substr_compare$word'o', -1, 1)==0) {
    if (in_arraysubstr$word, -2, 1), array'a''e''i''o''u'))===false)
      return $word'es'
    else
      return $word's'
  }
  
  if (substr_compare$word's', -1, 1)==0)
    return $word'es'
  
  if (substr_compare$word'x', -1, 1)==0)
    return $word'es'
  
  if (substr_compare$word'z', -1, 1)==0)
    return $word'es'
  
  if (substr_compare$word'ch', -2, 2)==0)
    return $word'es'
  
  if (substr_compare$word'sh', -2, 2)==0)
    return $word'es'
  
  return $word's'