I went to England and heard people pronouncing place names weirdly.
- Caterham was pronounced “K-ter-rum” or “K-trum” instead of “K-ter-ham”
- Selhurst was pronounced “SEL-lust” instead of “SEL-hust”
- Clapham Junction was pronounced “CLAP-pam JUNK-tion” instead of “CLAP-ham JUNK-tion”
It seems like that the H in these names are silent.
I have never seen this behaviour in other English words. Why does this happen? Is this a British accent thing? Is there any English words that have this kind of silent H?
In general, word-medial /h/ tends to be lost before an unstressed vowel. Compare the pronunciations of “vehicle” and “vehicular”. See https://linguistics.stackexchange.com/a/15716/5581 Some words are exceptions or have variable pronunciations, but the loss of /h/ has become standard in the place names you mention. It doesn’t have to do with a British accent. However, non-British speakers may be more likely to use pronunciations with /h/ for these place names due to the influence of the spelling.
Actually, a similar phenomenon is the loss of “w” after a consonant and before an unstressed vowel, as in “answer” and “Greenwich“.
I just found a related question on Linguistics SE with an answer by Colin Fine that says basically the same thing: https://linguistics.stackexchange.com/questions/8398/why-is-h-of-ham-dropped-in-english-place-names