2013-05-30 3 views
1

Здравствуйте, у меня есть проект, где мне нужно cApitalize только второе письмо в предложении. Теперь, что PHP имеет strtoupper() и строка strtoupper (строка $ строка) ucfirst() I возвращает первую буквуphp заглавная вторая буква в предложении мин. 10 символов

Так вот моя лучшая попытка

<?php 

$str = "capitalize"; 

$str = ucfirst(strtolower($str)); // makes all the letters lower case 
?> 

Это где я запутаться, если 0 = первый письмо и 1 = второе, то я мог просто сделать array(") или count_chars() затем $val

+0

Вы можете взять отдельные буквы из строки, используя, например, '$ str [1]' для второй буквы, запишите его, а затем поместите обратно в строку. – doppelgreener

ответ

0

У меня есть одна идея, чтобы выполнить эту операцию .. пример

$strmain='capitalize'; 
$result = substr($strmain, 0, 1); //result is c 
$result1=str_replace($result,'',$strmain);//now your result1 is apitalize 
$result2=ucfirst($result1); //now result2 is Apitalize 

$finalresult=$result.$result2 ///now your finalresult is cApitalize 
+0

Не работает нормально. С «крокодилом» он возвращает «cRoodile». –

2

Его старый вопрос, только что натолкнулся на это, поэтому положил бы ответ на комментарий @doppelgreener.

Это должно работать:

$str = "capitalize"; 
$str[1]= strtoupper($str[1]); 
echo $str; // cApitalize