我想更改以下字符串
fgsloiwrthowmwohitjwptpbspdfmjlsihjwslihj
到这个字符串
FGsloIwrtHowMwoHItJwpTpBspDfmJlsIhJwslIHJ
我希望将字母A到J大写,并使用正则表达式单独保留其余字母。
[a-j]
到[A-J]
之类的内容。
答案 0 :(得分:6)
<?php
$lower = range('a', 'j');
$upper = range('A', 'J');
echo str_replace($lower, $upper, 'fgsloiwrthowmwohitjwptpbspdfmjlsihjwslihj');
?>
请参阅range
和str_replace
。
答案 1 :(得分:5)
$old = array('a', 'b', .... , 'j');
$new = array('A', 'B', .... , 'J');
$fixed = str_replace($old, $new, $your_string_here);
答案 2 :(得分:4)
如果您想使用正则表达式,请考虑使用preg_replace_callback
。
示例:强>
$string = 'fgsloiwrthowmwohitjwptpbspdfmjlsihjwslihj';
$string = preg_replace_callback('/[a-j]/', create_function('$matches', 'return strtoupper($matches[0]);'), $string);
var_dump($string);
<强>输出:强>
string(41) "FGsloIwrtHowmwoHItJwptpBspDFmJlsIHJwslIHJ"