mb_convert_case()将不间断空格视为单词的一部分

时间:2018-07-16 13:55:41

标签: php capitalization

我需要将一系列用逗号分隔的单词转换为Title Case。当我尝试转换这样的字符串时会发生问题:

foobar, 2 foo
3 bar

当我在这些上使用mb_convert_case($ foobar,MB_CASE_TITLE)时,它们看起来像这样:

Foobar, 2 foo
3 bar

代替:

Foobar, 2 Foo
3 Bar

在保留不间断空格的同时,是否有办法为这些字符串加上标题大小写?

1 个答案:

答案 0 :(得分:0)

您需要将 替换为一个空格,然后将所有单词都大写,如下所示:

$string = 'foobar, 2 foo 3 bar';
$string = preg_replace("/\s| /",' ', $string);
$output = ucwords($string); 

Demo