PHP DOM: не загружает CSS стили - PullRequest
0 голосов
/ 10 февраля 2012

У меня есть этот код, который получает html-код страницы и заменяет все атрибуты HREF тега A, чтобы перенаправить его на мой сайт, затем мой сайт загружает страницу и снова перенаправляет ссылки и так далее ...

<?php

libxml_use_internal_errors(true);             // hide the parsing errors
$dom = new DOMDocument;                      // init new DOMDocument
if($_GET){
    $dom->loadHtmlFile($_GET['open']); // getting link to redirect to
}else{
    $dom->loadHtmlFile('http://www.stackoverflow.com');  // getting default site
}
$dom->loadHtmlFile('http://www.stackoverflow.com');      // load HTML into it
$xpath = new DOMXPath($dom);                             // create a new XPath
$nodes = $xpath->query('//a[@href]');                    // Find all A elements with a href attribute
foreach($nodes as $node) {                               // Iterate over found elements
    $node->setAttribute('href', 'index.php?open=http://www.stackoverflow.com'.$node->getAttribute('href'));  // Change href attribute
}
echo $dom->saveXml();                                    // output cleaned HTML

?>

код отлично работает, единственная проблема в том, что он не загружает CSS-файлы вы можете протестировать этот код и посмотреть, в чем проблема!

вот онлайн-версия: http://browser.breet.co.il

Заранее спасибо!

1 Ответ

1 голос
/ 10 февраля 2012

Используйте saveHTML () вместо saveXml ()

Используя последнее, в начале печатного кода есть определение xml, поэтому оно неt правильно разобрать.

...