2013-04-19 2 views
2

ли кто-нибудь идея, как взорвать некоторые строки в PHP, где в примере:Разрыв строки в PHP для преобразования одной части в верхнем регистре, а другой в нижнем регистре?

<? 
// Submitted through register form 

$first_name = $_POST['first_name']; 

// example $_POST['first_name'] is somebody 
// and need to be exploded at position 1 or by letter 'o' in this example 
// but that is not always letter o 
// I made also 

$first_name_lc = strtolower($first_name); 

// converted all to lowers and now 
// exploding at letter o 

$explode_rule = 'o'; 

$first_name_lc_exploded = explode($explode_rule, $first_name_lc); 

// now in example we have $first_name_lc_exploded[0] and $first_name_lc_exploded[1] 
// $first_name_lc_exploded[0] is now 's' and $first_name_lc_exploded[1] is 'mebody' 
// now new first name is $first_name_lc_exploded[0].$explode_rule.$first_name_lc_exploded[1] 
// but $first_name_lc_exploded[0] need to be converted in upper and only that, nothing else 
// than $first_name_lc_exploded[0] is 'S' instead of 's' 
// and first_name is now 'Somebody' instead of 'somebody' 
?> 

Итак, вопрос: как заменить письмо о чем-то, что выглядит для второй буквы внутри строки, и взрываются он с этим правилом, некоторой переменной. У кого-нибудь есть идея?

+2

сбалансированный нижний план. По крайней мере, он показал некоторые усилия. И это нужно похвалить. Остальное - это отсутствие знаний о родных функциях PHP, поэтому я хочу быть хорошим на этом. –

+0

Зачем вам этот взрыв? Прекратите этот терроризм! : D – vikingmaster

+0

Думаю, мне нужно будет больше комментариев ;-) – bestprogrammerintheworld

ответ

5

Если вы просто пытаетесь прописной первую букву, попробуйте ucfirst(strtolower($first_name));

Если вы хотите прописные все буквы, которые происходят после того, как пространства, попробуйте ucwords(strtolower($first_name));;

Если вы действительно хотите разбить строку на вторую букву, используйте substr();, чтобы вытащить нужные фрагменты нужной строки.

Другой альтернативой является использование preg_split(); и использование регулярного выражения для указания формы строки и того, как вы хотите ее разделить.

Или вы могли бы всегда explode($first_name[1], $first_name, 2));

http://php.net/manual/en/function.ucfirst.php

http://php.net/manual/en/function.ucwords.php

http://php.net/manual/en/function.substr.php

http://php.net/manual/en/function.preg-split.php

+3

... но для реального, 'ucfirst' или' ucwords', похоже, то, что вы ищете. – Jason

+0

точно это !!! извините, мне всего около месяца в php, поэтому мне очень нужна помощь: D, но в любом случае это очень помогло. Спасибо чувак! –

+1

Есть ТОНЫ встроенных функций в PHP, поэтому понятно, что вы еще не получили бы полного знания о них. Я делаю это уже 10 лет, и я все же иногда сталкиваюсь с случайными функциями, которые были там годами, которые давно помогли бы мне, о которых я никогда не знал. – Jason

0

Попробуйте ucfirst! Почему вы хотите изобретать велосипед каждый раз

0

Итак, вы хотите преобразовать первую букву строки в верхнюю. Я прав?

Для этого есть две функции PHP для этого.

  1. ucfirst()
  2. ucwords()

Проверьте руководства этого.