strings.md 2.2 KB
Newer Older
Taylor Otwell committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
# Working With Strings

## Contents

- [Capitalization, Etc.](#capitalization)
- [Word & Character Limiting](#limits)
- [Generating Random Strings](#random)
- [Singular & Plural](#singular-and-plural)
- [Slugs](#slugs)

<a name="capitalization"></a>
## 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.');
17
	// i am a string.
Taylor Otwell committed
18 19

	echo Str::upper('I am a string.');
20
	// I AM A STRING.
Taylor Otwell committed
21 22

	echo Str::title('I am a string.');
23
	// I Am A String.
Taylor Otwell committed
24 25 26 27 28 29

<a name="limits"></a>
## Word & Character Limiting

#### Limiting the number of characters in a string:

30 31 32 33 34
	echo Str::limit("Lorem ipsum dolor sit amet", 10);
	// Lorem ipsu...

	echo Str::limit_exact("Lorem ipsum dolor sit amet", 10);
	// Lorem i...
Taylor Otwell committed
35 36 37

#### Limiting the number of words in a string:

38 39
	echo Str::words("Lorem ipsum dolor sit amet", 3);
	// Lorem ipsum dolor...
Taylor Otwell committed
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

<a name="random"></a>
## 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');

<a name="singular-and-plural"></a>
## Singular & Plural

#### Getting the plural form of a word:

	echo Str::plural('user');
58
	// users
Taylor Otwell committed
59 60 61 62

#### Getting the singular form of a word:

	echo Str::singular('users');
63
	// user
Taylor Otwell committed
64

65
#### Getting the plural form if specified value is greater than one:
Taylor Otwell committed
66 67 68 69 70 71 72 73 74

	echo Str::plural('comment', count($comments));

<a name="slugs"></a>
## Slugs

#### Generating a URL friendly slug:

	return Str::slug('My First Blog Post!');
75
	// my-first-blog-post
Taylor Otwell committed
76 77 78 79

#### Generating a URL friendly slug using a given separator:

	return Str::slug('My First Blog Post!', '_');
80
	// my_first_blog_post
Taylor Otwell committed
81