[DOM] Remplacement du premier noeud mais suppression du deuxième ?!
Bonjour,
Je bute sur la bizarrerie suivante :
Je veux remplacer le premier noeud, qui est un noeud texte, par un noeud paragraphe (le contenu ci-dessous est extrait d'une definition data dd qui permet de faire suivre un noeud texte par des noeuds balisés) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <dd>Les protocoles suivants peuvent être installés sur demande :
<ul>
<li>Profibus DPV1</li>
<li>deviceNet</li>
<li>CANopen</li>
<li>Ethernet modbus</li>
<li>Ethernet / IP</li>
<li>Ethernet / IP 2 port</li>
<li>Profinet IO</li>
<li>Profinet IO 2 port</li>
<li>Ethercat</li>
</ul>
<p class="Important"><strong>Important :</strong> Ces options doivent
impérativement être demandées à la commande car elles nécessitent un
boîtier spécifique.</p>
</dd> |
Pour ce faire, j'ai écrit le code suivant :
Code:
1 2 3 4
| $p = $module_content_xhtml -> createElement('p');
$newnode = $module_content_xhtml -> importNode($body -> firstChild, true);
$p -> appendChild($newnode);
$body -> firstChild -> parentNode -> replaceChild($p, $body -> firstChild); |
($module_content_xhtml est le DOMDocument de travail, $body est le noeud <body> contenant le code xhtml devant être traité, hors balise dd.)
Le remplacement du noeud texte par un noeud paragraphe se fait bien, mais je perds le noeud ul qui suit :
Code:
1 2
| ><p>Les protocoles suivants peuvent être installés sur demande :
</p><p class="Important"><strong>Important :</strong> Ces options doivent impérativement être demandées à la commande car elles nécessitent un boîtier spécifique.</p> |
Pouvez-vous s'il vous plaît m'expliquer la raison de ce comportement et m'indiquer comment obtenir le code xhtml complet ?
Un grand merci d'avance