Модификация HTML с помощью PHP класса DOMDocument

Модификация HTML с помощью PHP класса DOMDocument

От автора: первое, что вы узнаете, когда захотите воспользоваться скриптом service worker на своем сайте, это то, что сайту требуется SSL соединение (HTTPS). С тех пор, как я увидел, насколько быстро может работать сайт с данным скриптом, я не расставался с желанием подготовить мой сайт под SSL. Принудительно подключить SSL через файл .htaccess было легко – сложнее было обновить ссылки в статьях блога. Сначала может показаться, что это можно быстро сделать с помощью регулярных выражений, но тот, кто имел честь работать с регулярными выражениями и ссылками, знает, что это настоящий кошмар. Регулярные выражения не выход из ситуации.

Правильным решением в такой ситуации будет DOMDocument – нативный PHP объект, с помощью которого можно работать с HTML логически. Сначала HTML загружается в экземпляр DOMDocument, и функции класса обрабатывают его.

В моем примере выше я ищу все теги img и в атрибуте src заменяю адрес на //. Я также добавил замену адреса для тегов и соответствующих атрибутов в iframe src, a href и еще несколько редко используемых тегов. Когда все модификации произведены, я сохраняю код всей страницы в строку с помощью метода saveHTML.

Не пытайтесь использовать регулярные выражения с HTML – ничем хорошим в дальнейшем это не кончится. А с помощью легковесной библиотеки DOMDocument гораздо легче обслуживать код в дальнейшем.

Автор: David Walsh

Источник: //davidwalsh.name/

Редакция: Команда webformyself.

Метки: ,

Похожие статьи:

Комментарии Вконтакте:

Комментарии (4)