Laravel
February 13
Очистка строк с помощью метода remove в Laravel
Необходимо удалить определенные символы из строк? Метод Str::remove в Laravel предоставляет простой способ очистки текстового контента.
Базовое использование
Удаление определенных символов из строки:
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 TextCleaner
{
public function cleanupPhoneNumber(string $phone)
{
return Str::remove(['-', ' ', '(', ')'], $phone);
}
public function removeSpecialCharacters(string $text)
{
$characters = ['@', '#', '#39;, '%', '^', '&', '*'];
return Str::remove($characters, $text);
}
public function sanitizeUsername(string $username)
{
// Удаление стандартных специальных символов и пробелов
$cleaned = Str::remove([
' ', '.', '-', '_', '@',
], $username);
return strtolower($cleaned);
}
public function cleanupCSVContent(string $content)
{
// Удаление невидимых символов
return Str::remove([
"\r", "\n", "\t", "\0", "\x0B"
], $content);
}
}
// Использование
class UserController extends Controller
{
public function store(Request $request, TextCleaner $cleaner)
{
$phone = $cleaner->cleanupPhoneNumber($request->phone);
$username = $cleaner->sanitizeUsername($request->username);
User::create([
'phone' => $phone,
'username' => $username
]);
}
}
Метод remove упрощает операции очистки строк, делая код обработки текста более читабельным и удобным в сопровождении.