@php
foreach (
\App\Models\StyleDeco::whereIn('letter', $projet->quiz->style)->get() ?? []
as $key => $style
) {
$key == 0 ? ($style_1 = $style->libelle) : ($style_2 = $style->libelle);
}
$slug = $projet->espace . '-' . $style_1 . '-' . $style_2 . '-' . $projet->id;
$divider = '-';
$slug = preg_replace('~[^\pL\d]+~u', $divider, $slug);
// transliterate
// $slug = iconv('utf-8', 'us-ascii//TRANSLIT', $slug);
$slug = str_replace(
[
'à',
'â',
'ä',
'á',
'ã',
'å',
'î',
'ï',
'ì',
'í',
'ô',
'ö',
'ò',
'ó',
'õ',
'ø',
'ù',
'û',
'ü',
'ú',
'é',
'è',
'ê',
'ë',
'ç',
'ÿ',
'ñ',
'À',
'Â',
'Ä',
'Á',
'Ã',
'Å',
'Î',
'Ï',
'Ì',
'Í',
'Ô',
'Ö',
'Ò',
'Ó',
'Õ',
'Ø',
'Ù',
'Û',
'Ü',
'Ú',
'É',
'È',
'Ê',
'Ë',
'Ç',
'Ÿ',
'Ñ',
],
[
'a',
'a',
'a',
'a',
'a',
'a',
'i',
'i',
'i',
'i',
'o',
'o',
'o',
'o',
'o',
'o',
'u',
'u',
'u',
'u',
'e',
'e',
'e',
'e',
'c',
'y',
'n',
'A',
'A',
'A',
'A',
'A',
'A',
'I',
'I',
'I',
'I',
'O',
'O',
'O',
'O',
'O',
'O',
'U',
'U',
'U',
'U',
'E',
'E',
'E',
'E',
'C',
'Y',
'N',
],
$slug,
);
// remove unwanted characters
$slug = preg_replace('~[^-\w]+~', '', $slug);
// trim
$slug = trim($slug, $divider);
// remove duplicate divider
$slug = preg_replace('~-+~', $divider, $slug);
// lowercase
$slug = strtolower($slug);
@endphp