这是我的slugify
功能:
function slugify($text) {
$text = preg_replace('~[^\\pL\d]+~u', '-', $text);
$text = trim($text, '-');
$text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
$text = mb_strtolower($text, 'UTF-8');
$text = preg_replace('~[^-\w]+~', '', $text);
if(empty($text)) return 'n-a';
return $text;
}
这是测试:
echo slugify("españa");
在我的开发服务器中,结果是:
- 西班牙
在我的生产服务器中,结果是:
- 西班牙
我确定它与字符集编码有关,但两台服务器都有UTF-8
as default_charset
。我还能错过什么?有任何想法吗?