This is so stupid.
Zidane has been red carded before for some nasty penalties - like stomping the saudi arabia guy in the crotch a few world cups back. Everyone is making him out to be some class act, and he's had his share of nasty fouls.
Who cares what the Italian guy said to him. They are just words. Making the italian guy out to be a villian is RIDICULOUS. Stop making excuses for Zidane. How do people know that Zidane wasn't running his mouth the entire match as well?
The bottom line is, he lost his cool, did something really bad, and paid the price. He has NO ONE to blame but himself. Does that mean he is a bad person? Of course not... but it was a very selfish act to put his team a man down and get booted from the game.