测试php中给定字符的大写或小写类型的最佳方法是什么?

不管当前本地语言的事实如何,一种检测字符是大写还是小写的理想方式是什么。


还有更直接的功能吗?


假设:将内部字符编码设置为UTF-8,并且本地浏览器会话为en-US,en; q = 0.5,并且已安装Multibyte String扩展名。不要使用ctype_lower或ctype_upper。


请参阅下面的测试代码,该代码应该是多字节兼容的。


$encodingtype = 'utf8';

$charactervalue = mb_ord($character, $encodingtype);


$characterlowercase = mb_strtolower($character, $encodingtype) ;

$characterlowercasevalue = mb_ord(mb_strtolower($character, $encodingtype));


$characteruppercase = mb_strtoupper($character, $encodingtype);

$characteruppercasevalue = mb_ord(mb_strtoupper($character, $encodingtype));




// Diag Info

echo 'Input: ' . $character . "<br />";

echo 'Input Value: ' . $charactervalue = mb_ord($character, $encodingtype) . "<br />" . "<br />";

echo 'Lowercase: ' . $characterlowercase = mb_strtolower($character, $encodingtype) . "<br />";

echo 'Lowercase Value: ' . $characterlowercasevalue = mb_ord(mb_strtolower($character, $encodingtype)) . "<br />" . "<br />";

echo 'Uppercase: ' . $characteruppercase = mb_strtoupper($character, $encodingtype) . "<br />";

echo 'Uppercase Value: ' . $characteruppercasevalue = mb_ord(mb_strtoupper($character, $encodingtype)) . "<br />" . "<br />";

// Diag Info



if ($charactervalue == $characterlowercasevalue and $charactervalue != $characteruppercasevalue){

    $uppercase = 0;

    $lowercase = 1;

    echo 'Is character is lowercase' . "<br />" . "<br />";

}


elseif ($charactervalue == $characteruppercasevalue and $charactervalue != $characterlowercasevalue ){

    $uppercase = 1;

    $lowercase = 0;

    echo 'Character is uppercase' . "<br />" . "<br />";

}


else{

    $uppercase = 0;

    $lowercase = 0;

    echo 'Character is neither lowercase or uppercase' . "<br />" . "<br />";

}

//测试1 A // //输出->字符为大写

//测试2 z // //输出->字符为小写

//测试3 + // Output->字符为小写

//测试4 0 // Output->字符既不大写也不大写

//测试5ǻ//带有小号和小号的拉丁小写字母A //输出->字符为小写

//测试6Ͱ希腊大写字母HETA // //输出->字符为大写

//测试7''NULL // Output->字符既不小写也不大写


慕沐林林
浏览 155回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP