Laravel Tutorials

Convert Special Characters to ASCII with Laravel's Str::transliterate Method

Published
Convert Special Characters to ASCII with Laravel's Str::transliterate Method image

Laravel's Str::transliterate method provides a simple solution for normalizing text content by converting special characters to their ASCII equivalents.

Convert special characters to ASCII:

use Illuminate\Support\Str;
 
$content = Str::transliterate('Café Ñoño & Résumé');
// Result: 'Cafe Nono & Resume'

Here's how you might use it in a content processing service:

class ContentProcessor
{
public function processFormData(array $data)
{
return collect($data)->map(function ($value) {
return is_string($value)
? Str::transliterate($value)
: $value;
})->all();
}
 
public function createSlug(string $title)
{
return Str::slug(Str::transliterate($title));
}
 
public function normalizeSearchQuery(string $query)
{
return strtolower(Str::transliterate($query));
}
 
public function sanitizeKeywords(array $keywords)
{
return array_map(function ($keyword) {
return Str::transliterate($keyword);
}, $keywords);
}
}
 
class ArticleController extends Controller
{
public function create(Request $request, ContentProcessor $processor)
{
$processedData = $processor->processFormData([
'title' => $request->title,
'content' => $request->content,
'keywords' => $request->keywords
]);
 
Article::create($processedData);
}
}

The transliterate method makes it easy to ensure consistent text formatting across your application.

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 →
Building EasyReply: How We Used Laravel to Unify Customer Support image

Building EasyReply: How We Used Laravel to Unify Customer Support

Read article
PostgreSQL Monitoring and Schema Linting for Laravel with Vacuum image

PostgreSQL Monitoring and Schema Linting for Laravel with Vacuum

Read article
PayZephyr: One Payment API for Stripe, Paystack, and PayPal image

PayZephyr: One Payment API for Stripe, Paystack, and PayPal

Read article
Bifrost Turns One With AI Builds and New Workflows image

Bifrost Turns One With AI Builds and New Workflows

Read article
Preview Blade Templates in macOS Finder with Quick Blade image

Preview Blade Templates in macOS Finder with Quick Blade

Read article
Artisan Debugging Commands in Laravel Telescope 5.24.0 image

Artisan Debugging Commands in Laravel Telescope 5.24.0

Read article