Laravel Tutorials

String Manipulation with Laravel's remove Method

Published
String Manipulation with Laravel's remove Method image

Laravel enhances string manipulation capabilities with the powerful Str::remove method. This utility function simplifies the process of removing unwanted characters from strings.

The implementation offers both case-sensitive and case-insensitive options:

use Illuminate\Support\Str;
 
$string = 'Peter Piper picked a peck of pickled peppers.';
$removed = Str::remove('e', $string);
// Result: "Ptr Pipr pickd a pck of pickld ppprs."
 
// Case-insensitive removal
$removed = Str::remove('P', $string, false);
// Result: "eter ier icked a eck of ickled eers."

Here's how to use it in a content formatting utility:

class ContentFormatter
{
/**
* Clean unnecessary whitespace and formatting
*/
public function normalizeWhitespace(string $content): string
{
// Remove extra whitespace characters
return Str::remove(["\r", "\t", "\x0B"], $content);
}
 
/**
* Format telephone numbers consistently
*/
public function formatTelephone(string $number): string
{
// Strip all non-numeric characters
$digits = Str::remove([' ', '-', '(', ')', '.', '+'], $number);
 
// Format consistently based on length
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
};
}
 
/**
* Clean input for database slugs
*/
public function slugify(string $text): string
{
// Remove special characters and replace spaces with dashes
$text = Str::remove(['!', '?', ',', '.', '&', '%', '$', '#', '@'], $text);
return Str::slug($text);
}
}

Laravel's remove method provides a clean, expressive way to handle common string cleaning operations without resorting to complex regular expressions.

Harris Raftopoulos photo

Senior Software Engineer • Staff & Educator @ Laravel News • Co-organizer @ Laravel Greece Meetup

Sponsored

laravelcloud logo
Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Visit Laravel Cloud

The latest

View all →
CPX: The Composer Package Executor for PHP image

CPX: The Composer Package Executor for PHP

Read article
Laravel AI SDK Adds Human-in-the-Loop Tool Approval image

Laravel AI SDK Adds Human-in-the-Loop Tool Approval

Read article
Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals image

Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals

Read article
Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs image

Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs

Read article
Blade Formatting in Laravel Pint image

Blade Formatting in Laravel Pint

Read article
Inertia DevTools Is Now on the Chrome Web Store image

Inertia DevTools Is Now on the Chrome Web Store

Read article