Добрый день. Чтобы было понятнее покажу код =) Код (Text): $html->item(0)->childNodes->item(0)->childNodes->item(6)->nodeName;//выводит script мне нужно скопировать этот элемент в смысле в следующей строке должен стоять такой же. делаю так Код (Text): $clone =$html->item(0)->childNodes->item(0)->childNodes->item(6)->cloneNode(); $html->item(0)->childNodes->item(0)->appendChild($clone); выводится Maximum execution time of 30 seconds exceeded Покажите, пожалуйста пример как правильно копировать элементы?
Язык - это язык, построение DOM - это уже задача библиотеки, расширения, как хотите. Оно может быть стандартным, может быть нестандартным. Вот вы через что делали?
Код (Text): $dom = new DOMDocument; libxml_use_internal_errors(true); libxml_clear_errors(); $dom->loadHTMLFile('путь к файлу'); $html = $dom->getElementsByTagName('html'); Код (Text): $html->item(0)->childNodes->item(0) //это head $html->item(0)->childNodes->item(1) //это body $html->item(0)->childNodes->item(0)->childNodes->item(6) //это <script></script> который и нужно скопировать Если переписать код вот так Код (Text): $dom = new DOMDocument; libxml_use_internal_errors(true); libxml_clear_errors(); $dom->loadHTMLFile('test.html'); $html = $dom->getElementsByTagName('html');$k=6;$c=2; for($i=0;$i<$c;$i++) {$html->item(0)->childNodes->item(0)->appendChild($html->item(0)->childNodes->item(0)->childNodes->item($k)->cloneNode());} Но он прекрасно срабатывает. в шаблоне появляется ещё один script, но мне нужно чтобы $k и $c были динамическими, т.е. сначала их нужно найти. Для этого я делаю сначала проверку шаблона на существование тега. потом записываю в какой строке он найден и только после этого вызываю метод копирования Добавлено спустя 5 минут 11 секунд: http://php.ru/manual/book.dom.html