1

PHP/Zend を使用して html を DOM にロードし、変更したい特定の div ID を取得します。

$dom = new Zend_Dom_Query($html);
$element = $dom->query('div[id="someid"]');

$elementそのdiv内に表示される te​​xt/content/html を変更し、変更を保存して、変更したhtml を印刷するにはどうすればよいです$domか。$htmlこれを行う方法はありますか?

4

1 に答える 1

3

Zend_Dom_Queryは、domをクエリするためだけに調整されているため、domを変更して保存するためのインターフェイス自体は提供されませんが、それを可能にするPHPネイティブDOMオブジェクトは公開されます。このようなものが機能するはずです:

$dom = new Zend_Dom_Query($html);
$document = $dom->getDocument();
$elements = $dom->query('div[id="someid"]');

foreach($elements AS $element) {
    //$element is an instance of DOMElement (http://www.php.net/DOMElement)

    //You have to create new nodes off the document
    $node = $document->createElement("div", "contents of div");
    $element->appendChild($node)
}

$newHtml = $document->saveXml();

DOMElementのPHPDocを見て、domを変更する方法を理解してください。

http://www.php.net/DOMElement

于 2012-03-30T03:46:43.613 に答える