我应该mb_convert_case
使用MB_CASE_TITLE
还是ucwords
?或者是其他东西?差异会是什么?
答案 0 :(得分:2)
function uc_words($string){
return mb_convert_case($string, MB_CASE_TITLE, "UTF-8");
}
MB表示多字节,因此它可以转换非ASCII字符,ucwords只能转换为ASCII。
如果你在“mojšal”上使用ucwords,你会得到“Mojšal”,如果你使用多字节转换,你会得到“MojŠal”......就是这样。
答案 1 :(得分:2)
取决于。
mb_convert_case()
是多字节安全的。 ucwords()
不是。
mb_convert_case()
需要一个并非始终可用的扩展程序。 ucwords()
始终可用。
因此,如果您的应用程序只使用单字节编码,那么ucwords()
将为您提供更好的可移植性。
但是如果您的应用程序可能需要处理多字节编码,那么ucwords()
将使您失败。