Tom Hanks says he could not play the role of a gay man today as he did in Philadelphia in 1993 - and "rightly so".

The Hollywood star played lawyer Andrew Beckett in the film, a man who was fired from his job after his bosses discovered his sexuality. 

Speaking to The New York Times Magazine, the veteran actor said: 

"Let's address, 'Could a straight man do what I did in Philadelphia now?' No, and rightly so." 

Hanks said: "We're beyond that now, and I don't think people would accept the inauthenticity of a straight guy playing a gay guy. 

"It's not a crime, it's not boohoo that someone would say we are going to demand more of a movie in the modern realm of authenticity. 

Do I sound like I'm preaching? I don't mean to." 

When he collected his Oscar for the film, he recognised that too many gay men had died because of HIV and AIDS. 

He said: "I know that my work in this case is magnified by the fact that the streets of heaven are too crowded with angels.