从外部页面获取元素的内容 PHP

Get contents of element from external page PHP

我想让内容(CSS、子元素等)显示在 HTML 页面上,但此元素位于外部页面上。当我使用:

$page = new DOMDocument();
$page->loadHTMLFile('about.php');
$text = $page->getElementById('text');
echo $text->nodeValue;

我只得到文字,但 #text 还有一张儿童图片和一些 CSS。我可以得到(并回显)那些吗,有点像 iframe,但然后是一个元素。如果是,怎么做?

非常感谢。

我找到了解决方案,虽然它不会检索 CSS,但如果您只需要该元素及其子元素,这是我最好的选择。

使用 simple_html_dom.php 完成所有困难的事情。

我的外部页面:

<div id='text'>
    <img src='img/dummy.png' align='left' alt='Image not available. Our apologies.'/>
    <span>text</span><br/>
    <p>
        text
    </p>
    <p>
       text
    </p>
    <p>
        text
    </p>
<div>

现在,我要显示外部页面内容的页面:

<?php include('../includes/simple_html_dom.php'); ?>
....
<?php
    $html = file_get_html('about.php');
    $ret = $html->find('div#text', 0);
    echo $ret;
?>

这是做什么的,它与它的子元素相呼应,不幸的是没有 CSS。

也许您正在寻找的是DOMDocument::saveHTML()

如果您设置可选参数,它只输出这个特定节点。

$elm = $page->getElementById('text');
echo $elm->ownerDocument->saveHTML($elm);