Точно замініть префікси рядків за допомогою методу replaceStart у Laravel

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 07 червня, 2025
Дізнайтеся, як метод Str::replaceStart у Laravel може революціонізувати вашу роботу зі строками! Цей інструмент дозволяє точно модифікувати текст, замінюючи його лише на початку рядка – ідеальний вибір для нормалізації URL та очищення шляхів

Laravel представляє метод Str::replaceStart для точних змін рядків, що дозволяє розробникам змінювати текст лише на початку рядка, забезпечуючи контроль над маніпуляцією префіксами

Метод replaceStart пропонує умовну заміну, базуючись на префіксах рядків:

use Illuminate\Support\Str;
 
// Успішна заміна
$replaced = Str::replaceStart('Hello', 'Laravel', 'Hello World');
// Результат: 'Laravel World'
 
// Без заміни (не починається з 'World')
$replaced = Str::replaceStart('World', 'Laravel', 'Hello World');
// Результат: 'Hello World'

Цей метод є особливо корисним у системах нормалізації шляхів і URL:

class PathNormalizer
{
    public function standardizeProtocol(string $url, string $protocol = 'https')
    {
        // Заміна http:// на https://
        $url = Str::replaceStart('http://', $protocol . '://', $url);
 
        // Додавання протоколу, якщо його немає
        if (!str_starts_with($url, $protocol . '://')) {
            $url = $protocol . '://' . $url;
        }
 
        return $url;
    }
 
    public function unifySubdomain(string $url, string $targetDomain)
    {
        // Заміна www на цільовий домен
        $url = Str::replaceStart('www.', $targetDomain . '.', $url);
 
        // Заміна staging на цільовий домен
        $url = Str::replaceStart('staging.', $targetDomain . '.', $url);
 
        return $url;
    }
 
    public function normalizeApiPath(string $endpoint)
    {
        // Видалення ведучого /api, якщо є
        return Str::replaceStart('/api', '', $endpoint);
    }
}

Метод replaceStart забезпечує точну маніпуляцію рядками, концентруючись лише на префіксах, що робить його ідеальним для нормалізації URL, очищення шляхів та трансформацій даних, де необхідна умовна заміна