我希望捕获一个表单值,该表单值始终具有以下格式:
city-country
我永远不知道这个城市或国家有多长,但我需要这样回应:
City, Country
那么换句话说,如何用“,”和“大写”每个单词的第一个字母来代替?
谢谢!
编辑:感谢您的所有答案!
答案 0 :(得分:3)
$str = str_replace("-",", ",$input);
然后使用
$str = ucwords($str);
答案 1 :(得分:3)
String replace是一个很好的工具:
$string = str_replace('-', ', ', $old_string);
然后ucwords会将所有字词大写:
$string = ucwords($string);
答案 2 :(得分:1)
$var = 'city-country';
echo ucwords( str_replace('-', ' ', $var) );
<?php
$subject = 'city-country';
$ret = preg_replace('/([^.]*)-(.*)/', '$1, $2', $subject);
echo ucwords($ret);
?>
答案 3 :(得分:0)
$test = 'city-country';
$new_test = preg_replace('/(\w+)(-)(\w+)/', '$1, $3', $test);
echo ucwords($new_test);
答案 4 :(得分:0)
你可以这样做:
$newstr="oslo-norway\n";
$newstr.="stockholm-sweden\n";
$newstr.="copenhagen-danmark\n";
$newstr = preg_replace("/(.)([^-]*)-(.)(.*)/e", "strtoupper('\\1').'\\2, '.strtoupper('\\3').'\\4'", $newstr);
print_r($newstr);