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

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

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

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

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

Бесплатный курс по PHP программированию

Освойте курс и создайте динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

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

Автор: David Walsh

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

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

Разработка веб-приложения на PHP

Создайте веб-приложение на PHP на примере приема платежей на сайте

Получить

Метки: ,

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

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

Комментарии Facebook:

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

  1. evgeniyholon

    В строке 5 опечатка, вместо $doc надо $document.

  2. Вячеслав

    Андрей, спасибо тебе за твой труд уроки и их изложение СУПЕР!

  3. Борис

    Здравствуйте! Спасибо за полезную информацию. Пытаюсь докумекать как её теперь использовать. Например есть сайт на Джумла + Virtumart. Как и где целесообразно запускать этот скрипт? Получается не в index.php шаблона, а где-то на уровень выше?.. В index.php сайта?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Я не робот.

Spam Protection by WP-SpamFree