У нас есть пользователи из TamilNadu, и похоже, что Laravel по умолчанию Str :: slug () не может обрабатывать символы вроде: தமிழ் . Он просто возвращает пустую строку. Это приводит к 404 на страницах профиля пользователей.
Мне интересно, как я могу решить эту проблему, не затрагивая остальные мои URL. Я думаю, что один из способов исправить это - переопределить стандартную функцию Str :: slug () и проверить, возвращает ли исходная функция пустую строку. Если это так, я мог бы прокомментировать первое поле как $ title = stati c :: ascii ($ title) . тогда его работы. Но я не хочу беспокоить метод Str :: slug () по умолчанию. в то же время не знаю, как его переопределить.
По умолчанию Str :: slug ():
public static function slug($title, $separator = '-')
{
//$title = static::ascii($title);
// Convert all dashes/underscores into separator
$flip = $separator == '-' ? '_' : '-';
$title = preg_replace('!['.preg_quote($flip).']+!u', $separator, $title);
// Remove all characters that are not the separator, letters, numbers, or whitespace.
$title = preg_replace('![^'.preg_quote($separator).'\pL\pN\s]+!u', '', mb_strtolower($title));
// Replace all separator characters and whitespace by a single separator
$title = preg_replace('!['.preg_quote($separator).'\s]+!u', $separator, $title);
return trim($title, $separator);
}
Как вы справляетесь с этим в своем приложении ? Спасибо за продвижение ..