Make Laravel slug support utf8 characters

If you ever wanted to use Laravel Str:slug() method, you maybe noticed it only supports latin characters. And you may open Str class (\vendor\laravel\framework\src\Illuminate\Support\Str.php) and see:

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

You see at the very first line that string convert to ansii. That's why you cannot use utf8 characters on return. You can easily comment that line out and see the result. But editing the Laravel source it's not goof approach.

For changing slug method functionality it's better to extend or override this method. For doing this, first create a file name app/macros.php , then copy/paste main slug method into this file and convert it to a closure method:

Str::macro('slug_utf8', function($title, $separator = '-')
{
    //$title = static::ascii($title); //comment it out to suport farsi

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

});

Before this method be usable in your application, you should add this macro.php file at the app/start/global.php, open this file and at the end of file add this line of code:

require app_path().'/macros.php';

Now you have a slug_utf8 method that can be used in your applications:

$slug = Str::slug_utf8($value);

Comments

Posted by Lazrypoono on
cialis from canada over the counter last post
http://cialiswithoutadoctorsprescription.org - cialis without a doctor's prescription
cialis 10 mg effectiveness jump to
cialis without a doctor's prescription
- cialis commercial black couple last post by
cialis 20mg msn messenger
Posted by JazonFeedo on
no prescription viagra everyday
http://viagra-withoutdoctorprescriptions.org - viagra without doctor prescription
like viagra for heart help that insurance pays
viagra without a doctor prescription
- your name subject comment inurl:comment/reply/2 viagra
viagra and alcohol side effects total members
Posted by lpesnw on
generic cialis online http://cialisn.com
buy cialis online usa
Posted by wlejwv on
buy tadalafil cialis online
cialis com http://canadian-pharmasy.com
Posted by mbqooj on
buy viagra usa
generic viagra sildenafil 100mg uk http://canadian-pharmacya.com
Posted by Edwardarerb on
Приветствую всех! интересный у вас сайт!
Нашел интересную базу кино: сериал скачать торрент в хорошем качестве бесплатно
Здесь: смотреть аниме в хорошем качестве hd 720 онлайн фильмы бесплатно в хорошем качестве аниме список 2018
Здесь: скачать бесплатно лучший русский боевик самые лучшие боевики бесплатно список 2017
Здесь: иронический детектив смотреть в хорошем качестве смотреть хорошие иронические детективы список 2017
Здесь: http://kinokub.net/boevik/2458-dospehi-boga-long-xiong-hu-di-1986.html Смотреть Доспехи Бога / Long xiong hu di (1986) онлайн бесплатно
Тут: http://kinokub.net/drama/10410-den-d-d-day-sezon-1-2015.html
Posted by fxyuwl on
buy cialis 5mg online canada http://cialisn.com
cialis from canadian pharmacy
Posted by ybeqjw on
safe cialis order http://canadian-pharmacyca.com
buy cialis online pharmacy
Posted by trzwvg on
mail order viagra http://canadian-pharmacyon.com
side effects of viagra
Posted by Tommiehoaxy on
Здравствуйте! интересный у вас сайт!
Нашел сериальную базу кино: сериал крапленый смотреть бесплатно в хорошем http://kinovalenok.tv/
Тут: фэнтези 2019 смотреть онлайн бесплатно в хорошем смотреть фэнтези уже вышедшие в хорошем качестве список 2018
Тут: Лучшие драмы смотреть http://kinovalenok.tv/drama/ список 2018
Здесь: документальные фильмы смотреть бесплатно в хорошем качестве http://kinovalenok.tv/dokumentalnyy/ список 2018
Тут: http://kinovalenok.tv/komediya/9625-mister-robinson-mr-robinson-sezon-1-2015.html Смотреть Мистер Робинсон / Mr. Robinson (Сезон 1) (2015) онлайн бесплатно
Тут: http://kinovalenok.tv/triller/3730-marmorera-marmorera-2007.html
Posted by lwcvmh on
buy cialis canada
buy cialis online canada pharmacy http://canada-pharmaci.com
Posted by ovsdxf on
farmacia online cialis paypal http://canadian-pharmacyca.com
buying cialis online safe
Posted by vnntaa on
viagra online http://canadlan-drugs.com
Posted by skfxfy on
generic viagra drugs
buy real viagra
Posted by Bruceevafe on
Здравствуйте!
Нашел приколы за день на этом сайте: http://watafak.ru :
посмотреть интересное видео http://watafak.ru/interesnoe-video/
дизайн проект фото дизайн
http://watafak.ru/foto-prikoly-interesnoe/5173-snezhnye-zhivotnye.html Снежные животные
Правила жизни Хита Леджера Правила жизни Хита Леджера
http://watafak.ru/interesnoe-video/9433-panin-drochit-na-ulice.html
Posted by Michaellig on
Всем привет! интересный у вас сайт!
Нашел обширную базу кино: Лучшие новинки кино новинки в хорошем качестве hd http://kinovalenok.tv/
Здесь: фильмы онлайн фантастика лучшие http://kinovalenok.tv/fantastika/ рейтинг 2019
Здесь: Список 2019 лучшие комедии российские комедии бесплатно онлайн смотреть хорошего качества список 2019
Тут: мелодрамы 2018г бесплатно в хорошем качестве мелодрамы через торрент бесплатно в хорошем качестве рейтинг 2019
Здесь: http://kinovalenok.tv/12409-zelda-nachalo-vsego-z-the-beginning-of-everything-sezon-1-2015-2016.html Смотреть Зельда: начало всего / Z: The Beginning of Everything (Сезон 1) (2015-2016) онлайн бесплатно
Тут: Смотреть Сердце Ангела / Angel Heart (1987) онлайн бесплатно Сердце Ангела / Angel Heart (1987)
Тут: http://kinovalenok.tv/5288-v-kieve-otkrylsya-esche-odin-kinoteatr-multipleks.html
Posted by JerryRag on
Привет всем!
Нашел интересные фотоподборки на этом сайте: http://okaybro.ru :
прикладное искусство http://okaybro.ru/art_iskusstvo/
крутые тачки ребенку круто ру авто
http://okaybro.ru/1019-geroi-nashego-dvora.html Герои нашего двора
Кара Дельвинь в рекламной кампании Topshop Кара Дельвинь в рекламной кампании Topshop
http://okaybro.ru/7693-zabroshennyy-detskiy-lager.html
Posted by Bryonbeino on
http://mysite.ru - http://mysite.ru
Posted by MichaelRible on
Здравствуйте! прикольный у вас сайт!
Нашел топ базу кино: онлайн лучшие сериалы про любовь http://kinokub.net/
Здесь: смотреть лучшие отечественные фильмы http://kinokub.net/otechestvennyy/ список 2019
Здесь: онлайн фильмы хорошем качестве 2018 новинки смотреть кино россия новинки лучшее список 2019
Здесь: приключения электроника смотреть онлайн в хорошем http://kinokub.net/priklyucheniya/ список 2018
Тут: http://kinokub.net/10956-obyavleny-nominanty-na-premiyu-golden-trailer-awards-2016.html Объявлены номинанты на премию Golden Trailer Awards 2016
Здесь: http://kinokub.net/12262-stali-izvestny-pervye-dannye-o-sborah-izgoya.html
Posted by MichaelFep on
http://mysite.ru - http://mysite.ru
Posted by okergx on
buy cialis china http://canadian-pharmacyca.com
http://canadian-pharmacyca.com - order cialis 5mg
Posted by Keithlap on
Привет всем участникам! Класный у вас сайт!
Нашёл интересное в сети:
http://itcyber.ru/11726-adobe-flash-player-poluchil-ispravleniya-v-23-uyazvimostyah.html Adobe Flash Player получил исправления в 23 уязвимостях
http://itcyber.ru/17449-predstavlen-ledyanoy-treyler-metro-exodus.html
популЯрные компьютерные игры http://itcyber.ru/games/
новости мира смартфонов http://itcyber.ru/mobile/
Ещё много интересного нашел тут: Новости IT http://itcyber.ru/