możesz zrobić 2 stringi, jeden to tekst źródłowy, drugi to
mb_convert_case tego stringu, potem robisz pętlę sprawdzając czy n-ta litera pierwszego stringa == n-t litera drugiego, jeżeli tak to jest duża, jeżeli nie to jest mała, to chyba najoptymalniejszy sposób