Php 带非英语字母的鼻涕虫

Php 带非英语字母的鼻涕虫,php,laravel,laravel-5.1,Php,Laravel,Laravel 5.1,我一直在使用Laravel的Str::slug函数,我意识到如果用户只提交非英语字母,它根本不会创建slug 我已经在谷歌上搜索了一段时间,但我找不到解决方案 你们中有人遇到过这种情况并找到了解决办法吗?由于一些浏览器和应用程序仍然不能很好地显示unicode URL,我建议您将国际SLUG翻译成拉丁语。我个人将其用于我的一个项目: public static function slugify($text) { $text = preg_replace('~[^\\pL\d]+~u',

我一直在使用Laravel的
Str::slug
函数,我意识到如果用户只提交非英语字母,它根本不会创建slug

我已经在谷歌上搜索了一段时间,但我找不到解决方案


你们中有人遇到过这种情况并找到了解决办法吗?

由于一些浏览器和应用程序仍然不能很好地显示unicode URL,我建议您将国际SLUG翻译成拉丁语。我个人将其用于我的一个项目:

public static function slugify($text) {
    $text = preg_replace('~[^\\pL\d]+~u', '-', $text);
    $text = trim($text, '-');
    if (function_exists('transliterator_transliterate')) $text = transliterator_transliterate('Any-Latin; Latin-ASCII', $text);
    $text = iconv('utf-8', 'ASCII//TRANSLIT//IGNORE', $text);
    $text = strtolower($text);
    $text = preg_replace('~[^-\w]+~', '', $text);

    return $text;
}