Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вставка html в html (или InnerHTML средствами PHP) 
:(
    Опции темы
NTMan
Дата 19.6.2008, 01:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 3.7.2007
Где: Уфа

Репутация: нет
Всего: нет



Задача:
Есть два html файла.
1-файл некий шаблон сайта, 2-файл блок для AJAX наполнения через InnerHTML (JavaScript).
Надо средствами PHP проимитировать работу InnerHTML на случай если не будет работать JavaScript.
Делаю это так:
Код

$DOMDocument = new DOMDocument('1.0', 'WINDOWS-1251');
@$DOMDocument->loadHTML($this->page_code);

$ChangeNode = $DOMDocument->getElementById($divid);
if (isset($ChangeNode))
{
    $NewNode = $DOMDocument->createCDATASection($htmlcode);
    $ChangeNode->nodeValue='';
    $ChangeNode->appendChild($NewNode);
}

Ну почти получилось только фишка в том что InnerHTML можно делать над InnerHTMLом. А в результате полученного нового дерева поиск по id не осуществляеться по новым веткам. Я догадываюсь что дерево надо перестроить но как???
Если присваивать новый код в 
Код

$ChangeNode->nodeValue='';

то будет вообще без тэгов вставляться.

Есть идея проинициализоровать ещё один $DOMDocument, но непонятно тогда как из одного DOMDocument-а, скопировать дерево в другой DOMDocument.

Подскажите плиз.
PM MAIL ICQ   Вверх
NTMan
Дата 19.6.2008, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 3.7.2007
Где: Уфа

Репутация: нет
Всего: нет



А вот ещё один вариант который не работает:

Код

$doc = new DOMDocument('1.0', 'WINDOWS-1251');
$insdoc = new DOMDocument('1.0', 'WINDOWS-1251');

@$doc->loadHTML($this->page_code);

$ChangeNode = $doc->getElementById($divid);
if (isset($ChangeNode))
{
    @$insdoc->loadHTML($htmlcode);
    $NewNode = $insdoc->childNodes->item(0);
    $NewNode = $doc->ImportNode($NewNode,true);
    $ChangeNode->appendChild($NewNode);
}



PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: X технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0392 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.