Php字符串操作和替换

时间:2012-03-05 18:32:33

标签: php string

我希望捕获一个表单值,该表单值始终具有以下格式:

city-country

我永远不知道这个城市或国家有多长,但我需要这样回应:

City, Country

那么换句话说,如何用“,”和“大写”每个单词的第一个字母来代替?

谢谢!

编辑:感谢您的所有答案!

5 个答案:

答案 0 :(得分:3)

$str = str_replace("-",", ",$input);

然后使用

$str = ucwords($str);

答案 1 :(得分:3)

String replace是一个很好的工具:

$string = str_replace('-', ', ', $old_string);

然后ucwords会将所有字词大写:

$string = ucwords($string);

答案 2 :(得分:1)

str_replace()+ ucwords()

$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);