PHP 中需要将带有特殊字符的单词大写

发布于 2024-10-10 08:20:29 字数 122 浏览 4 评论 0原文

ucwords 不会将 öüäõ 这样的外来字符大写,

所以我需要一个解决方案,它将“öösel”变成“Öösel”

是否有一种简单的方法可以使用正则表达式来完成此操作,或者我必须手动检查所有字符?

ucwords doesn't capitalize foreign chars like öüäõ

so I need a solution, which will make "öösel" into "Öösel"

Is there a simple way to do it with regexp or I have to check all the characters manually?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

飘逸的'云 2024-10-17 08:20:29

如果您安装了 mbstring 扩展,则可以使用 mb_convert_case 函数,指定 MB_CASE_TITLE 作为 $mode 参数。

If you have the mbstring extension installed, you can use the mb_convert_case function, specifying MB_CASE_TITLE as the $mode parameter.

ゝ杯具 2024-10-17 08:20:29

你可以尝试一下 strtoupper(),它对我来说法语效果很好。
抱歉,我没有看到它是 ucwords...

否则,这应该有效:

mb_convert_case($string, MB_CASE_TITLE, "UTF-8");

You can give a try to strtoupper() which works fine for me with French.
Sorry I hadn't seen it was ucwords...

Otherwise, this should work:

mb_convert_case($string, MB_CASE_TITLE, "UTF-8");

夜访吸血鬼 2024-10-17 08:20:29

除了其他与 ucwords 存在相同问题的答案之外,您还可以考虑保留 此变体在您的工具箱中。

Aside from the other answers, which suffer from the same problems as ucwords, you might take a look at keeping this variation in your toolbox.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文