Controversial US conservative talk show host Rush Limbaugh has apologised to a law student he branded a “slut” and “prostitute” amid a storm of criticism from Republican and Democrat politicians and advertisers who severed ties with his radio programme.