Donald Trump has "got the message" that many Londoners are staunchly opposed to his policies and actions, mayor Sadiq Khan said after the US president cancelled his planned visit.

The London mayor - who has clashed with the president in the past - said a visit by Mr Trump would have been met by "mass peaceful protests".

The US president confirmed on Twitter that he would not visit the UK to cut the ribbon on the new US embassy building in south London.

Mr Trump said he thought the embassy's move from Grosvenor Square in Mayfair to Nine Elms, south of the Thames, was a "bad deal" and the building was in an "off location".

But the prospect of demonstrations against his appearance could also have been a factor in the president's decision to cancel the visit.

Mr Khan said: "It appears that President Trump got the message from the many Londoners who love and admire America and Americans but find his policies and actions the polar opposite of our city's values of inclusion, diversity and tolerance.

"His visit next month would without doubt have been met by mass peaceful protests.

"This just reinforces what a mistake it was for Theresa May to rush and extend an invitation of a state visit in the first place.

"Let's hope that Donald Trump also revisits the pursuit of his divisive agenda."

Mr Khan, who has led opposition to the prospect of a visit by the US president, had a row with Mr Trump over the response to the London Bridge terror attack last June.

President Trump fired off a series of critical tweets over Mr Khan's handling of the attack, mocking the mayor's comments that there was "no reason to be alarmed" over armed police on the streets.

The row between Mr Trump and Mr Khan saw the US president dismiss criticism of his original post on the subject by redoubling his attack, accusing Mr Khan of making a "pathetic excuse".