fix(parser): use ICU transliterator for platform-independent ASCII slugification

This commit is contained in:
Jérémy Munsch 2026-08-28 18:04:23 +02:00
parent e8280b1f1d
commit 0805017a70
Signed by: forge-joniko
GPG key ID: D7EFE2F5CB6CC0E4

View file

@ -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));