您的位置:首页 > 其它

反转一个英文句子中的单词,并且对应位置大小写不改变

2017-05-14 21:00 405 查看
输入一句英文句子,只有英文字(a-z, A-Z)、每个字之间仅以一个空格分格,前后没有空格。
返回的是要把每一个字的字母顺序倒转写,但字的顺序和字母的大小写位置则保持不変

示例:

输入参数This is an Apple on eBay

输出:Siht si na Elppa no yAbe

/**
* 反转英文句子中的单词,并保持对应位置大小写不变
* @param  [type] $str [description]
* @return [type]      [description]
*/
function stringReverse($str){
//将每个单词转为小写并反转
$tmp = strtolower($str);
$tmp = implode(" ",array_map("strrev",explode(" ", $tmp)));
$strlen = strlen($tmp);

//遍历原始字符串,将新字符串对应位置字符转为大写
while($strlen > 0){
$strlen--;
$ord = ord($str{$strlen});

if($ord > 64 && $ord < 90){
$tmp{$strlen} = strtoupper($tmp{$strlen});
}
}

return $tmp;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐