Регулярное выражение для каждого второй буквы

Есть ли такое регулярное выражение, чтобы каждую вторую букву в строке сделать заглавной? Моя попытка:

$str = "This is my string";

$regex = "$2/(.)";

$line = preg_replace_callback ($regex, 'strtoupper', $str);
echo $line;

Ответы (1 шт):

Автор решения: InDevX
function capitalizeSecondLetter($matches) {
    return $matches[1].strtoupper($matches[2]);   
}

$string = "lorem ipsum dolorsit amet";

echo preg_replace_callback ("~(\w)(.?)~", 'capitalizeSecondLetter', $string);
→ Ссылка