5 полезных функций для работы с текстом

1. Сократить текст

Сократить текст в указанную длину можно через метод Str::limit().

use Illuminate\Support\Str;

$text = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit';

Str::limit($text, 20); // Lorem ipsum dolor si...
Str::limit($text, 10); // Lorem ipsu...

Также можно указать разделитель в третьем параметре.

Str::limit($text, 10, '[...]'); // Lorem ipsu[...]

2. Проверить наличие строки

Проверить наличие строки можно через метод Str::contains().

use Illuminate\Support\Str;

$text = 'Framework Laravel';

Str::contains($text, 'Laravel'); // true
Str::contains($text, 'Yii');     // false

Также можно передать несколько значений, и если одно из них присутствует в строке, то функция вернёт true.

$text = 'Framework Laravel';

Str::contains($text, ['Laravel', 'ZF']); // true
Str::contains($text, ['Yii', 'Django']); // false

3. Текст для ЧПУ

Преобразовать текст для ЧПУ можно через метод Str::slug().

use Illuminate\Support\Str;

Str::slug('Page name', '-');    // page-name
Str::slug('Имя страницы', '-'); // imya-stranitsy

4. Указать начало и конец строки

Указать начало и конец строки можно через методы Str::finish() и Str::start().

use Illuminate\Support\Str;

Str::finish('know-online.com', '/');  // know-online.com/
Str::finish('know-online.com/', '/'); // know-online.com/

Str::start('nickname', '@');  // @nickname
Str::start('@nickname', '@'); // @nickname

5. Вырезать текст до и после указанной строки

Вырезать текст до и после указанной строки можно через методы Str::after() и Str::before().

use Illuminate\Support\Str;

$text = 'http://know-online.com/laravel/';

Str::before($text, 'know-online.com/'); // http://
Str::after($text,  'know-online.com/'); // laravel/