President Donald Trump has said the US is reinstating a naval blockade of Iranian ports and will impose a 20% charge on all cargo shipped through the Strait of Hormuz following days of escalating strikes between the two countries.