Добрый день всем. Есть блог. Из БД выводится контент. В контенте присутствуют картинки и некоторые пользователь сделал lazy-load
<img class="main-image lazy-load img-responsive" src="/img/loading.svg" alt="ТОП 10: Рейтинг лучших вытяжных вентиляторов" data-src="/uploads/blog/main/thumb/top_950_500.jpg">
Задача стоит поменять значения атрибутов "data-src" и "src" местами до вывода на страницу. Это делается для бота, чтоб при сканировании он обрабатывал картинки с нормальными урлами.
Сложность заключается в том, что картинок в тексте много и не у всех есть "data-src".
Помогите пожалуйста, уже второй день голову ломаю.
UPD: пробовал заменить с помощью вот такой функции
function replaceImageDataSrc($content)
{
$dom = new DOMDocument();
$dom->loadHTML($content);
$images = $dom->getElementsByTagName('img');
foreach ($images as $image) {
$dataSrc = $image->getAttribute('data-src');
$src = $image->getAttribute('src');
$image->setAttribute('src', $dataSrc);
$image->setAttribute('data-src', $src);
}
return $dom->saveHTML();
}
но не выходит, в контенте где-то есть незакрытые теги и DOMDocument падает в ошибку.
Нужен другой способ