PHP 文字列内のすべての単語を大文字にしようとしていますが、関数は、直後に括弧が続く単語を検出していません。括弧の直後の単語が大文字になるようにするにはどうすればよいですか?
例: アムハラ語 (エチオピア語) .... アムハラ語 (エチオピア語)
(現在 ucwords() を使用して、PHP はアムハラ語 (エチオピア語) を表示します)
PHP 文字列内のすべての単語を大文字にしようとしていますが、関数は、直後に括弧が続く単語を検出していません。括弧の直後の単語が大文字になるようにするにはどうすればよいですか?
例: アムハラ語 (エチオピア語) .... アムハラ語 (エチオピア語)
(現在 ucwords() を使用して、PHP はアムハラ語 (エチオピア語) を表示します)
これを試してみてください、私はそれを試しました、
$text= "amharic (ethiopian)";
echo mb_convert_case($text, MB_CASE_TITLE, "UTF-8");
出力 : アムハラ語 (エチオピア語)
注: PHP の mbstring 関数を有効にするようです。
preg_replace ( http://php.net/manual/en/function.preg-replace.php ) と正規表現のようなもので解決できるはずです/[A-Z][a-zA-Z]*/
。
問題は、phpがスペースの後の最初の文字を大文字にすることであり、ブラケットはスペースの後の単なる文字であるため、単語の最初の文字を大文字にする必要があり、他の文字がそれに続くと見なされるためだと思いますこの世界のキャラクターとして
したがって、これを回避するには、角かっこと文字の間にスペースを空ける必要があると思います。そうすれば、php は角かっこを単語の開始文字ではなく単一の文字として検出できます:)