<?php declare(strict_types=1);

namespace App\Engine\Utills;

final readonly class StringHelpers
{

    public static function urlize(string $string): string
    {
        $normalized = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $string);

        // Převod na malá písmena
        $lowercase = strtolower($normalized);

        // Nahrazení všech nepovolených znaků pomlčkami
        $slug = preg_replace('/[^a-z0-9]+/', '-', $lowercase);

        // Odstranění přebytečných pomlček na začátku a na konci
        return trim($slug, '-');
    }

    public static function sanitizeUrlAsAbsoulutePath(string $url): string
    {
        $url = trim($url);
        if (preg_match("~.+://~", $url)) { // Pokud se jedná o externí odkazy, tak url dále nezpracováváme
            return $url;
        }
        return $url = "/" . ltrim($url, "\\/");
    }

}