An Italian man who broke Silvio Berlusconi's nose and teeth by striking him with a spiked souvenir has apologised to the Prime Minister for his "cowardly and rash act", the attacker's lawyers said.

The 73-year-old billionaire businessman is still in hospital two days after the attack in Milan, but will be discharged today with orders to rest for two weeks, his doctor said.

Allies say the normally irrepressible Prime Minister is badly shaken and at one point asked a visiting priest: "Why do they hate me to this point?". But Mr Berlusconi put on a brave face in his first public message to Italians since entering hospital.

"I repeat to everyone to stay calm and confident," Mr Berlusconi said in a message to supporters on his website. "Love always wins over jealousy and hatred."

Allies have blamed a "climate of hatred" in Italy for the attack and analysts say vivid images of a bloodied and bruised Mr Berlusconi will boost his political fortunes, just as his popularity began slipping over legal woes and sex scandals.

In a letter sent to Mr Berlusconi from his jail cell, Mr Tartaglia expressed "heartfelt regret for a superficial, cowardly and rash act in which he did not recognise himself", the lawyers said.

Italy's interior minister, however, called it a premeditated attack driven by long-simmering anger towards Mr Berlusconi - a popular but divisive figure who has upset many Italians with tirades against "communist" magistrates, leftists and media.

Mr Tartaglia, who has a history of mental illness, had been waiting at the rally square since morning in preparation for the evening attack, armed with pepper spray and a crucifix made of resin, Interior Minister Roberto Maroni told Parliament.

Sign up to our free newsletters

Get the best updates straight to your inbox:
Please select at least one mailing list.

You can unsubscribe at any time by clicking the link in the footer of our emails. We use Mailchimp as our marketing platform. By subscribing, you acknowledge that your information will be transferred to Mailchimp for processing.