Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP使用特殊字符将每个单词和后括号大写_Php_String_Uppercase_Lowercase_Capitalize - Fatal编程技术网

PHP使用特殊字符将每个单词和后括号大写

PHP使用特殊字符将每个单词和后括号大写,php,string,uppercase,lowercase,capitalize,Php,String,Uppercase,Lowercase,Capitalize,我有一个脚本可以将大写字母转换为小写字母,但每个单词的第一个字母都要大写。我还想在括号后大写forst字母。代码可以工作,但不能使用特殊的挪威字符。看看我的代码 <?php $text= "BIG LETTERS WITH ÆØÅØÆØÅØÆ (MORE ÆØÆÅØ HERE)"; echo mb_convert_case($text, MB_CASE_TITLE, "UTF-8"); ?> 如您所见,特殊的挪威字符被删除。如何保留这些字符并确保单词的所有第一个字母都大写,其余字母

我有一个脚本可以将大写字母转换为小写字母,但每个单词的第一个字母都要大写。我还想在括号后大写forst字母。代码可以工作,但不能使用特殊的挪威字符。看看我的代码

<?php
$text= "BIG LETTERS WITH ÆØÅØÆØÅØÆ (MORE ÆØÆÅØ HERE)";
echo mb_convert_case($text, MB_CASE_TITLE, "UTF-8");
?>

如您所见,特殊的挪威字符被删除。如何保留这些字符并确保单词的所有第一个字母都大写,其余字母都小写?对我来说,括号后的第一个字母也是大写的,这一点很重要。

您可以使用
ucwords()
函数来实现这一点

$text= "BIG LETTERS WITH ÆØÅØÆØÅØÆ (MORE ÆØÆÅØ HERE)";
echo str_replace('( ', '(', ucwords(str_replace('(', '( ', strtolower($text))));

“特殊挪威字符”您是否设置了正确的字符集?如果我将字符集设置为ISO-8859-1,则特殊字符将显示为带问号的黑钻石。我从XML文件获取字符串,因此无法更改XML文件的输入。您只需转换字符串即可???@zorensen您可以使用
ucwords
@zorensen不使用
ucwords($text)
太好了!然而,这在某种程度上是有效的,括号后的第一个字母没有大写。您的代码输出;在第一个括号后面加上“m”的大写字母(这里有更多的字母)不会大写。这很好!连字符呢?如果字符串是这个$text=“带字母的大写字母-此处有更多字母”;连字符后面的第一个单词仍然是小写。
$text= "BIG LETTERS WITH ÆØÅØÆØÅØÆ (MORE ÆØÆÅØ HERE)";
echo str_replace('( ', '(', ucwords(str_replace('(', '( ', strtolower($text))));