Primeira letra maiúscula

Olá, eu gostaria de converter uma string em php em que as primeiras letras de cada palavra fossem maiúsculas, porém como essa string é um nome, palavras como “da” “do” “de” não quero que se convertam, pois o nome tem que ficar “da Silva” e não “Da Silva”. Sou novo nessa área e gostaria de um help!

Eu já consegui converter utilizando o mb_convert_case(), mas queria uma ajuda com essa parte dos nomes… Obrigado!

Ola,