U.K. Prime Minister David Cameron announced Friday that Britain will take “thousands” of Syrian refugees, marking a dramatic U-turn in his response to Europe’s escalating migrant crisis following a public outcry for him to do more.

The prime minister said he would focus on relocating people from Syrian refugee camps to Britain, rather than opening up the U.K.’s borders to people who had traveled to the European continent. Mr. Cameron also pledged to commit a further £100 million in aid to tackle the Syrian refugee crisis,...