Маніпуляція рядками за допомогою методу remove в Laravel

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 22 березня, 2025
Laravel пропонує потужний метод Str::remove, який суттєво спрощує маніпуляції з рядками, дозволяючи легко видаляти небажані символи. Чи хотіли б ви дізнатися, як цей метод може вдосконалити ваші проекти? Читайте далі, щоб виявити інструменти оптимізації, які допоможуть вам в обробці контенту
```html

Laravel вдосконалює управління рядками завдяки потужному методу Str::remove. Ця утиліта спрощує процес видалення небажаних символів з рядків.

Метод пропонує як чутливі, так і нечутливі до регістру опції:

use Illuminate\Support\Str;

$string = 'Peter Piper picked a peck of pickled peppers.';
$removed = Str::remove('e', $string);
// Результат: "Ptr Pipr pickd a pck of pickld ppprs."

// Видалення без врахування регістру
$removed = Str::remove('P', $string, false);
// Результат: "eter ier icked a eck of ickled eers."

Ось як це використовувати в утиліті форматування контенту:

class ContentFormatter
{
    /**
     * Очищає непотрібні пробіли та форматування
     */
    public function normalizeWhitespace(string $content): string
    {
        // Видалити зайві пробільні символи
        return Str::remove(["\r", "\t", "\x0B"], $content);
    }

    /**
     * Форматує телефонні номери у єдиному стилі
     */
    public function formatTelephone(string $number): string
    {
        // Вилучити всі нечислові символи
        $digits = Str::remove([' ', '-', '(', ')', '.', '+'], $number);

        // Форматувати відповідно до довжини
        return match(strlen($digits)) {
            10 => substr($digits, 0, 3) . '-' . substr($digits, 3, 3) . '-' . substr($digits, 6),
            11 => '+' . substr($digits, 0, 1) . ' ' . substr($digits, 1, 3) . '-' . substr($digits, 4, 3) . '-' . substr($digits, 7),
            default => $digits
        };
    }

    /**
     * Очищає вхідні дані для слугів у базі даних
     */
    public function slugify(string $text): string
    {
        // Видалити спеціальні символи та замінити пробіли на дефіси
        $text = Str::remove(['!', '?', ',', '.', '&', '%', '$', '#', '@'], $text);
        return Str::slug($text);
    }
}

Метод remove в Laravel надає чистий і зрозумілий спосіб виконання звичайних операцій очищення рядків без використання складних регулярних виразів

```