Я пытался написать простой CSS-вкладыш, поскольку другие, доступные онлайн, либо используют интерфейс, библиотеку jquery, либо имеют массу включений, для управления которыми нужен композитор.
Я создавал запросы XPath, применяя правила к селекторам CSS, и эти правила работают при ручной проверке их в chrome.
Код:
$new_document = new DOMDocument();
$new_document->loadHTML( $page );
$xpa_document = new DOMXpath($new_document);
foreach( $css['selector'] as $key => $path){
$node = $xpa_document->query( $xpath );
$item = $node->item(0);
$styles = $item->getAttribute( 'style' );
$styles .= $stylemap['styles'];
$item->setAttribute('style', $styles );
$new_document->saveHTML();
}
У меня проблемы с возвратом узла, чтобы манипулировать им с помощью DOMDocument. line $item = $node->item(0);
вызывает сбой во время выполнения скрипта, и проверка на empty (), похоже, не имеет никакого эффекта.
Есть ли способ загрузить найденный в XPATH узел в DOMDocument
список узлов?