0

正如标题中描述的那样,目前我的代码是:

<?php
    $url = "remotesite.com/page1.html";
    $html = file_get_contents($url);
    $doc = new DOMDocument(); // create DOMDocument
    libxml_use_internal_errors(true);
    $doc->loadHTML($html); // load HTML you can add $html

    $elements = $doc->getElementsByTagName('div');

?>

我的编码技能非常基础,所以此时我迷路了,不知道如何只显示具有 id 的 divid=mydiv

4

1 回答 1

1

如果您有 PHP 5.3.6 或更高版本,您可以执行以下操作:

$url = "remotesite.com/page1.html";
$html = file_get_contents($url);
$doc = new DOMDocument(); // create DOMDocument
libxml_use_internal_errors(true);
$doc->loadHTML($html); // load HTML you can add $html
$testElement = $doc->getElementById('divIDName');
echo $doc->saveHTML($testElement);

http://php.net/manual/en/domdocument.getelementbyid.php

如果您有较低版本,我相信您需要在使用 getElementById 找到 Dom 节点后将其复制到新的 DomDocument 对象中。

$elementDoc = new DOMDocument();
$cloned = $testElement->cloneNode(TRUE);
$elementDoc->appendChild($elementDoc->importNode($cloned,TRUE));
echo $elementDoc->saveHTML();
于 2013-07-14T13:25:41.357 回答