Как изменить регистр определенных целых слов?
Регулярные выражения для этого отлично подходят.

$replaces = [
	'#3d#' => '3D',
	'#\bmax\b#' => 'MAX', //меняем только вхождения в целых словах, слово max заменится на MAX, в слове maximum max не поднимется.
	'#program#is' => 'PROGRAM' //меняем любые вхождения: program, Program, PROgram и тд... получим PROGRAM, так же например слово programfiles заменится на PROGRAMfiles, если надо целиком вхождение в слово обернуть в \bслово\b как в примере с max
];
	
function replacer($params, $string) {
	$from = array_keys($params);
	$to = array_values($params);
	return preg_replace($from, $to, $string);
}

$TheTitle = 'maximum best program for you - this is a 3d max - super  puper pRoGrAm';

$titleNew = replacer($replaces, $TheTitle);

var_dump($titleNew); //string(70) "maximum best PROGRAM for you - this is a 3D MAX - super  puper PROGRAM"

live example: https://3v4l.org/KlGKZ
Регулярки для этого не предназначены, они для других целей.
Для данной задачи используй словарь ("3d", "max", "program"), к которому будешь применять автозамену с апперкейсом.