2013-12-09 2 views
0

Вопрос может быть неясным, но вот чего я хочу достичь.Получить первые буквы подстрок в строке

У меня есть следующая строка:

$input = 'foo_bar_buz_oof_rab'; 

мне нужно получить на выходе следующие строки:

$output = 'fbbor'; 

Как вы можете видеть, точка должна взорваться строку с _ и получить первый буквы подстрок. Какой лучший способ получить его? Regex, взорвать и перебрать подстроки?

+0

Не уверен, что вы хотите с этим сделать, но если вы планируете преобразовать каждую первую букву в столицу, то это специальная функция иона в php называется ucfirst() || http://www.php.net/manual/en/function.ucfirst.php –

+0

Я просто хочу получить первые буквы, как описано выше. Здесь не будет никаких трансформаций. – hsz

+0

@hsz Как насчет того, чтобы попробовать ответы? – Tredged

ответ

1
$words = explode("_", "BLA_BLA_BLA_BLA"); 
$acronym = ""; 

foreach ($words as $w) { 
    $acronym .= $w[0]; 
} 

Вы имеете в виду это?

0

вы можете использовать и функцию зиЬзЬг для достижения этой цели

, как показано ниже

$str = "foo_bar_buz_oof_rab"; 

$arr = explode("_",$str); 
$new_str = ''; 
foreach($arr as $a){ 

    $new_str .= $new_str .substr($a,0,1); 

} 

echo $new_str; 

Это даст желаемый выход

+2

Это будет удваивать ваш $ new_str каждый раз, когда вы перебираете цикл, поскольку вы уже используете оператор. = Concat. – ThaMe90

0

Я также сделал это с:

$output = implode(array_map(function($k){ return $k[0]; }, explode('_', $input))); 
Смежные вопросы