From 0805017a70bcd8aef7bbfaa9adbc32906a274fe1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Munsch?= Date: Fri, 28 Aug 2026 18:04:23 +0200 Subject: [PATCH] fix(parser): use ICU transliterator for platform-independent ASCII slugification --- src/Infra/Adapters/Parsers/IncoStringParser.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Infra/Adapters/Parsers/IncoStringParser.php b/src/Infra/Adapters/Parsers/IncoStringParser.php index 9a95319..b501602 100644 --- a/src/Infra/Adapters/Parsers/IncoStringParser.php +++ b/src/Infra/Adapters/Parsers/IncoStringParser.php @@ -220,6 +220,13 @@ final readonly class IncoStringParser */ public static function slugify(string $value): string { + if (\function_exists('transliterator_transliterate')) { + $transliterated = \transliterator_transliterate('Any-Latin; Latin-ASCII', $value); + if ($transliterated !== false) { + return strtolower(trim($transliterated)); + } + } + $ascii = (string) iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $value); return strtolower(trim($ascii));