В отличие от <img>
, который является пустым элементом , <amp-img>
является контейнером и всегда должен быть явно закрыт с помощью </amp-img>
.
Следовательно, вызов str_ireplace
, который у вас есть, приведет к тому, что текст будет внутри <amp-img>
, то есть <amp-img src="...">Some text for example.</amp-img>
, что сделает его потомком <amp-img>
. Поскольку он не является ни резервным, ни заполнителем, этот дочерний элемент <amp-img>
просто не будет обработан.
Трудно предложить решение, не зная больше о других применяемых вами преобразованиях, но я рекомендую переосмыслить ваш подход и убедиться, что теги <img>
заменены на теги <amp-img>
, которые должным образом закрыты.