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 надає чистий і зрозумілий спосіб виконання звичайних операцій очищення рядків без використання складних регулярних виразів
```