Я использую preg_replace для преобразования тега <img> в <amp-img>, но он не работает.
preg_replace
<img>
<amp-img>
$str = '<img src="welcome.jpg" alt="Welcome">'; echo preg_replace("%<img .*>%i", "<amp-img $1></amp-img>", $str);
используйте (. *) Для захвата всего, что находится между пробелом, и>
preg_replace("/<img (.*)>/", "<amp-img $1></amp-img>", '<img src="welcome.jpg" alt="Welcome">')
должно дать результат
<amp-img src="welcome.jpg" alt="Welcome"></amp-img>