DOMDocumentを使用してdiv内を置換したいです。
Ec-cubeのホームページで置換をしたいです。
理想の動作としては、HTML内に<div class="hoge">1</div>
があったときに、以下のソースで置換したいです。
php
1use DOMDocument; 2use DOMXpath; 3 4$dom=new DOMDocument(); 5@$dom->loadHTML($html); 6$xpath=new DOMXpath($dom); 7$nodes=$xpath->query('//div[@class="hoge"]'); 8//置換処理 9for ($i = 0; $i < $nodes->length; ++$i) { 10 $node = $nodes->item($i); 11 $newHtml=$something; 12 $node->nodeValue=null; 13 $node->appendChild($newHtml); 14 }
問題は$nodes as $node
のときに$node
がDOMNodeではなく、DOMElementになってしまって、置換ができないことです。
試した解決策
ノードを生成して追加しようと思いましたが、それじゃ置換にならないなと気づきました。
質問
div内置換の代替案、もしくは上記の現象になる原因を教えてください。