Перенос элемента, у родителя которого есть id

Статус
В этой теме нельзя размещать новые ответы.

Avron2

Новичок
Нужно перенести ссылку <a href="http://www...">Return To Results</a> в <div id="ihf_detail_pagingcapture_620"></div>.

Есть исходный HTML (test.html):
PHP:
<html>
    <body>
        <div id="cntmiddlebg">
            <div class="searchfull">
                <a href="http://www...">Return To Results</a>
                <p>aaa</p>
                <p>bbb</p>
                <p>ccc</p>
            </div>
        </div>
        <div id="container">    
            <div id="ihf_detail_pagingcapture_620">
                // сюда нужно перенести первую ссылку из дива class="searchfull"
                <a href="www..."></a>
            </div>
        </div>
    </body>    
</html>
Вот мой скрипт:
PHP:
            $document = new domDocument('1.0','utf-8');
            $content = file_get_contents('xml/test.html');
            $document->preserveWhiteSpace=false;
            $document->loadHTML($content);

            $cntmiddlebg = $document->getElementById('cntmiddlebg');
            $returnToResults = $cntmiddlebg->childNodes->item(1); /*переносимая ссылка*/
            $ihf_detail_pagingcapture_620 = $document->getElementById('ihf_detail_pagingcapture_620');
            $document->insertBefore($returnToResults,$ihf_detail_pagingcapture_620->childNodes->item(0));
            $returnToResults->parentNode->removeChild($returnToResults);
            echo $document->saveHTML();
Помогите, пожалуйста. Не пойму почему не работает. С парсингом пришлось столкнуться совсем недавно. Похоже что я не правильно выбираю детей и еще ошибка в строчке с $document->insertBefore...:
Fatal error: Uncaught exception 'DOMException' with message 'Not Found Error' in D:\xampp\htdocs\my\xml.php:30 Stack trace: #0 D:\xampp\htdocs\my\xml.php(30): DOMNode->insertBefore(Object(DOMElement), Object(DOMText)) #1 {main} thrown in D:\xampp\htdocs\my\xml.php on line 30
 

Avron2

Новичок
Помогите пожалуйста. Задача тривиальная, но нахожусь в ступоре. Это пример. Помогите разобраться с этим примером, чтобы я понял в чем дело и дальше мог двигаться.
 

Avron2

Новичок
Вообще это предварительный парсинг загружаемой страницы. Этот скрипт вызывает функция ob_start().
Страницу html генерирует динамически CMS. Поэтому в исходнике руками перенести нет возможности.

Вот еще что сделал. Использую библиотеку simple_html_dom.php.
PHP:
            require_once ('inc/simple_html_dom.php');
            
            $html = file_get_html('xml/homes-for-sale-details.html');

            $cntmiddlebg = $html->find('div[id=cntmiddlebg]',0);
            $searchfull = $cntmiddlebg->children(0);
            $returnToResults = $searchfull->children(0);
            $ihf_detail_pagingcapture_620 = $html->find('div[id=ihf_detail_pagingcapture_620]',0);
            $ihf_detail_pagingcapture_620->appendChild($returnToResults);
            $returnToResults->outertext='';
            echo $html;
Все хорошо, только когда выполняется
PHP:
            $returnToResults->outertext='';
затирается и новый узел $ihf_detail_pagingcapture_620->appendChild($returnToResults) и старый returnToResults.

Я уже в отчаянии :-(
 

Фанат

oncle terrible
Команда форума
вот-вот.
В CMS и надо изменить.
Для этого, скажу тебе по секрету, CMS и служат. Чтобы можно было менять вид динамически генерируемых страниц.
А то, чем ты занимаешься, называется "вырезать гланды через спину автогеном"
 

Avron2

Новичок
Это понятно. Данная страница генерируется удаленным сервисом и возвращается в CMS. Но дело не в этом. Нужно удалить гланды любым путем, пусть даже через спину.
Вопрос по парсингу, а не по CMS. Неужели никто не сможет помочь?
 

Фанат

oncle terrible
Команда форума
тогда это не CMS, а воровство контента.
Которое, между прочем, запрешено к обсуждению на форуме.

Тебе не приходило в голову получать информацию от удалённого сайта цивилизованным способом?
 

Avron2

Новичок
Мой пример HTML 10 строк. Нужно переместить ссылку из одного DIV в другой. Пусть не будет никаких CMS. Конкретный код привел. Спрашиваю: почему не работает. Где ошибка? При чем здесь что-либо еще (CMS и все прочее).
У меня будет завтра подобная задача без всяких CMS, а вопрос останется открытым.
Уже привел другой код, но теперь другая проблема. Тоже конкретный вопрос. Ответа нет ни одного.
 

Фанат

oncle terrible
Команда форума
Тема закрыта

Варез, взлом, кража контента и другие противоправные действия запрещены к обсуждению на форуме.

когда будет конкретная задача - постарайся осилить импорт информации через RSS
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху