我一直在使用 Laravel 的 Str::slug
函数,我意识到如果用户只提交非英文字母,它根本不会创建 slug。
我已经在谷歌上搜索了一段时间,但找不到解决方案。
你们中有人遇到过这个问题并找到了解决办法吗?
最佳答案
由于某些浏览器和应用程序仍然不能很好地显示 unicode URL,我建议改为音译您的国际 slugs - 让它们看起来是拉丁文。我个人将其用于我的一个项目:
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;
}
关于php - 带有非英文字母的蛞蝓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37448305/