querySelector() и querySelectorAll(), упрощает выбор и обработку элементов в HTML и XML-документах.Новый API CSS-селекторов позволяет выбрать элементы DOM с использованием знакомого синтаксиса, делая код более компактным и понятным.
Основные методы:
querySelector(): выбирает первый элемент, соответствующий заданному CSS-селектору.$doc = new DOMDocument();
$doc->loadHTML('<div class="header">Header Content</div>');
$element = $doc->querySelector('.header');
echo $element->textContent; // Вывод: "Header Content"
querySelectorAll(): возвращает коллекцию всех элементов, подходящих под CSS-селектор.$doc = new DOMDocument();
$doc->loadHTML('<div class="item">Item 1</div><div class="item">Item 2</div>');
$elements = $doc->querySelectorAll('.item');
foreach ($elements as $element) {
echo $element->textContent . "\n";
}
// Вывод:
// Item 1
// Item 2
Преимущества
🔸Простота синтаксиса: Использование CSS-селекторов упрощает код, избавляя от необходимости создавать сложные циклы для обхода DOM.
🔸Гибкость: Можно применять сложные селекторы, включая атрибуты, псевдоклассы и вложенные структуры.
🔸Сходство с JavaScript: Разработчики, знакомые с JavaScript, быстро адаптируются к новым методам PHP.
Ограничения
1.
querySelectorAll() возвращает статический список узлов, который не обновляется при изменении DOM.2. Поддержка сложных псевдоклассов, таких как
:nth-child(), может быть ограничен