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

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
Decide with Jev: Laravel AI That Answers with a Probability image

Decide with Jev: Laravel AI That Answers with a Probability

Read article
JetBrains Air: Run AI Coding Agents in JetBrains IDEs image

JetBrains Air: Run AI Coding Agents in JetBrains IDEs

Read article
Memoize Tagged Cache Reads in Laravel image

Memoize Tagged Cache Reads in Laravel

Read article
Eloquent Refreshes: Load Generated Columns After Save image

Eloquent Refreshes: Load Generated Columns After Save

Read article
Laravel AI SDK 1.0 Adds Classification and Tool Approvals image

Laravel AI SDK 1.0 Adds Classification and Tool Approvals

Read article
Tagged Memoized Cache and Model Refreshes in Laravel 13.33 image

Tagged Memoized Cache and Model Refreshes in Laravel 13.33

Read article