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

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
Securing Filament plugins with Plumb image

Securing Filament plugins with Plumb

Read article
LayaPHP: Self-Hosted Text Classification for PHP and Laravel image

LayaPHP: Self-Hosted Text Classification for PHP and Laravel

Read article
WhenMounted and BigInt Props in Inertia.js v3.8 image

WhenMounted and BigInt Props in Inertia.js v3.8

Read article
Postcodes for Laravel: GB Postcode Lookup and Geography Data image

Postcodes for Laravel: GB Postcode Lookup and Geography Data

Read article
Laravel 14 Adds a defaults() Method to Eloquent Models image

Laravel 14 Adds a defaults() Method to Eloquent Models

Read article
Laravel AI SDK and Laravel MCP Security Fixes: Update Now image

Laravel AI SDK and Laravel MCP Security Fixes: Update Now

Read article