Britain is to resettle up to 20,000 refugees from Syria over the next four and a half years, Prime Minister David Cameron has announced.

Mr Cameron told the House of Commons that the UK would live up to its moral responsibility towards the people forced from their homes by the forces of president Bashar Assad and the Islamic State terror group.

He said that Britain would take in vulnerable refugees only from camps in the region, and not those who have crossed the Mediterranean into Europe in their thousands over recent months.

Mr Cameron told MPs: 'We are proposing that Britain should resettle up to 20,000 Syrian refugees over the rest of this Parliament.

'In doing so, we will continue to show the world that this country is a country of extraordinary compassion, always standing up for our values and helping those in need.'

Pressure to admit more Syrians has grown since the publication of photographs of three-year-old Aylan Kurdi, who drowned with his mother and brother trying to cross from Turkey to Greece by boat.

Mr Cameron told the House of Commons: 'The whole country has been deeply moved by the heartbreaking images we've seen over the past few days and it's absolutely right that Britain should fulfil its moral responsibility to help those refugees, just as we've done so proudly throughout our history.

'But in doing so we must use our head and our heart by pursuing a comprehensive approach that tackles the causes of the problem as well as the consequences.'

He said Britain had done more than any other EU country to provide aid - now totalling £1 billion - to support refugees in Syria and neighbouring countries, and had moved quickly to provide Royal Navy ships for search and rescue missions in the Mediterranean.

'Without Britain's aid to these camps, the numbers attempting the dangerous journey to Europe would be very much higher,' he told MPs.

Mr Cameron said the full cost of supporting the Syrian refugees would be met for the first year from the Government's aid budget.

He added: 'We will now go much further in the Spending Review, significantly reshaping the way we use our aid budget to serve our national interest. We will invest even more in tackling the causes of the crisis in the Middle East and north Africa and will hold much larger sums in reserve to respond to acute humanitarian crises as they happen.'

Oxfam chief executive Mark Goldring welcomed the Prime Minister's announcement, but urged Mr Cameron to set out an 'ambitious' timetable for completing the resettlement programme as soon as possible.

'This is a good step forward, but it's far from job done,' said Mr Goldring. 'With the terrible conflict in Syria showing no signs of ending, the Government should continue to review how many refugees the UK will resettle.'

'Shouldn't have taken a photograph'

Steve Symonds, Amnesty International UK's refugee expert, said: 'It shouldn't have taken a photograph to get politicians to start to do the right thing, but this news offers a vital lifeline to thousands of Syrians. If acted upon urgently, it will be a truly positive step forward.

'However, it does not address the huge challenge facing Europe right now - countries like Greece and Hungary cannot cope alone. Nor does it offer a solution to the many Eritreans, Afghans and others, forced to flee bullets, bombs, torture and overcrowded refugee camps elsewhere.

'We all need to acknowledge there is no single measure that can immediately solve the current crisis, and no one country can achieve its resolution all by itself.

'So far the UK has been unwilling to share responsibility for refugees arriving in Europe. This position undermines efforts to secure a comprehensive response - saving lives, tackling people smuggling and resolving conflicts and other crises at the heart of this exodus.'

Justin Forsyth, chief executive officer at Save the Children, said: 'The Prime Minister's announcement to resettle 20,000 Syrian refugees direct from the region into Britain is important and welcome - it will make a real difference to some very vulnerable families and children.

'We also need to help those refugees already in Europe, specifically by taking in 3,000 of the children who have travelled here completely alone. The Prime Minister could continue a proud British tradition, started by the kindertransport, of giving lone children a second chance in Britain.'