php - 如何使用 PHP Dom 提取 innerHTML

标签 php dom innerhtml nodevalue

<分区>

我目前正在使用 nodeValue 为我提供 HTML 输出,但它正在剥离 HTML 代码并只为我提供纯文本。有谁知道我如何修改我的代码以通过使用它的 ID 为我提供元素的内部 HTML?

function getContent($url, $id){

// This first section gets the HTML stuff using a URL
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
$html = curl_exec($ch);
curl_close($ch);

// This second section analyses the HTML and outputs it
$newDom = new domDocument;
$newDom->loadHTML($html);
$newDom->preserveWhiteSpace = false;
$newDom->validateOnParse = true;

$sections = $newDom->getElementById($id)->nodeValue;
echo $sections;


}

最佳答案

这对我有用:

$sections = $newDom->saveXML($newDom->getElementById($id));

http://www.php.net/manual/en/domdocument.savexml.php

如果您有 PHP 5.3.6,这也可能是一个选项:

$sections = $newDom->saveHTML($newDom->getElementById($id));

http://www.php.net/manual/en/domdocument.savehtml.php

关于php - 如何使用 PHP Dom 提取 innerHTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9634245/

相关文章:

javascript - 使用 .innerHTML 时 HTML 标签损坏

javascript - 如何使用 for 循环构建动态 html

PHP session 性能 : array vs key into a database table?

html - 使用 Xpath 抓取不一致的 DOM

JavaScript 引起的样式更改不是永久性的

javascript - 无法使用 Javascript 更改 <button >'s "type"

Javascript Iframe insideHTML

php - 使用 php 从 .USX 文件中获取数据

php - Laravel 5.1 Eloquent 查询语法

php - 使用 PHP 解析时,WHERE NOT EXISTS 在 SQL 中出现语法错误