Is there any idiom in English for a husband who has been betrayed by his wife? (I mean she slept and is occasionally still sleeping with her lover). Or maybe not an idiomatic expression, but just one word that is commonly used for such a person?
A cuckold is
a historically derogatory term for a man who has an unfaithful wife. The word, which has been in recorded use since the 13th century, derives from the cuckoo bird, some varieties of which lay their eggs in other birds' nests.
The Online Etymology Dictionary offers the following:
mid-13c., kukewald, from O.Fr. cucuault, from cocu (see cuckoo) + pejorative suffix -ault, of Germanic origin. So called from the female bird's alleged habit of changing mates, or her authentic habit of leaving eggs in another bird's nest. The verb is 1580s, from the noun. Related: Cuckolded; cuckolding; cuckoldry.
Edit: This part of the Wikipedia article covers the variations on the 'horn' metaphor (to put the horns on, &c).