# Working With Strings ## Contents - [Capitalization, Etc.](#capitalization) - [Word & Character Limiting](#limits) - [Generating Random Strings](#random) - [Singular & Plural](#singular-and-plural) - [Slugs](#slugs) ## Capitalization, Etc. The **Str** class also provides three convenient methods for manipulating string capitalization: **upper**, **lower**, and **title**. These are more intelligent versions of the PHP [strtoupper](http://php.net/manual/en/function.strtoupper.php), [strtolower](http://php.net/manual/en/function.strtolower.php), and [ucwords](http://php.net/manual/en/function.ucwords.php) methods. More intelligent because they can handle UTF-8 input if the [multi-byte string](http://php.net/manual/en/book.mbstring.php) PHP extension is installed on your web server. To use them, just pass a string to the method: echo Str::lower('I am a string.'); echo Str::upper('I am a string.'); echo Str::title('I am a string.'); ## Word & Character Limiting #### Limiting the number of characters in a string: echo Str::limit($string, 10); #### Limiting the number of words in a string: echo Str::words($string, 10); ## Generating Random Strings #### Generating a random string of alpha-numeric characters: echo Str::random(32); #### Generating a random string of alphabetic characters: echo Str::random(32, 'alpha'); ## Singular & Plural The String class is capable of transforming your strings from singular to plural, and vice versa. #### Getting the plural form of a word: echo Str::plural('user'); #### Getting the singular form of a word: echo Str::singular('users'); #### Getting the plural form if given value is greater than one: echo Str::plural('comment', count($comments)); ## Slugs #### Generating a URL friendly slug: return Str::slug('My First Blog Post!'); #### Generating a URL friendly slug using a given separator: return Str::slug('My First Blog Post!', '_');