次のように、いくつかの文字列/文を小文字に変換する必要があります: " ȘEF DE CABINET "、次に、これらの文字列の最初の単語の最初の文字(分音記号付き)のみを大文字に変換します。すべての単語の最初の文字を文字列から変換する関数を見つけました。それを私のニーズに適応させる方法は?
これはコードです:
function sentence_case( $s ) {
$s = mb_convert_case( $s, MB_CASE_LOWER, 'UTF-8' );
$arr = preg_split("//u", $s, -1, PREG_SPLIT_NO_EMPTY);
$result = "";
$mode = false;
foreach ($arr as $char) {
$res = preg_match(
'/\\p{Mn}|\\p{Me}|\\p{Cf}|\\p{Lm}|\\p{Sk}|\\p{Lu}|\\p{Ll}|'.
'\\p{Lt}|\\p{Sk}|\\p{Cs}/u', $char) == 1;
if ($mode) {
if (!$res)
$mode = false;
}
elseif ($res) {
$mode = true;
$char = mb_convert_case($char, MB_CASE_TITLE, "UTF-8");
}
$result .= $char;
}
return $result;
}