Php строки манипуляции и замены - PullRequest
0 голосов
/ 05 марта 2012

Я надеюсь поймать значение формы, которое всегда имеет следующий формат:

city-country

Я никогда не могу знать, какой длины город или страна, но мне нужно повторить этот путь:

City, Country

Другими словами, как заменить - на "," и использовать заглавные буквы в каждом слове?

Спасибо!

РЕДАКТИРОВАТЬ: Спасибо за все вашиответы!

Ответы [ 5 ]

3 голосов
/ 05 марта 2012
$str = str_replace("-",", ",$input);

и затем используйте

$str = ucwords($str);
3 голосов
/ 05 марта 2012

String replace - хороший инструмент для начала:

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

А затем ucwords будет использовать заглавные буквы для всех слов:

$string = ucwords($string);
1 голос
/ 05 марта 2012

str_replace () + ucwords ()

$var = 'city-country';

echo ucwords( str_replace('-', ' ', $var) );

Регулярное выражение

<?php

$subject = 'city-country';

$ret = preg_replace('/([^.]*)-(.*)/', '$1, $2', $subject);

echo ucwords($ret);

?>
0 голосов
/ 05 марта 2012

Вы можете сделать это:

$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);
0 голосов
/ 05 марта 2012
$test = 'city-country';

$new_test = preg_replace('/(\w+)(-)(\w+)/', '$1, $3', $test);

echo ucwords($new_test);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...