PHP для заглавных букв всех букв (в том числе после косой черты), кроме определенных слов
Я хочу использовать PHP, чтобы очистить некоторые заголовки, используя заглавные буквы, в том числе после слэша. Однако я не хочу использовать слова «и», «из» и «the».
Вот две строки примера:
бухгалтерские технологии / техник и бухгалтерия
ортопедическая хирургия позвоночника
Следует исправить:
Бухгалтерские технологии / Техник и бухгалтерия
Ортопедическая хирургия позвоночника
Вот что у меня сейчас есть. Я не уверен, как объединить имплозию с preg_replace_callback.
// Will capitalize all words, including those following a slash
$major = implode('/', array_map('ucwords',explode('/',$major)));
// Is supposed to selectively capitalize words in the string
$major = preg_replace_callback("/[a-zA-Z]+/",'ucfirst_some',$major);
function ucfirst_some($match) {
$exclude = array('and','of','the');
if ( in_array(strtolower($match[0]),$exclude) ) return $match[0];
return ucfirst($match[0]);
}
Прямо сейчас он использует все слова в строке, включая те, которые мне не нужны.