1

给定一个包含整个页面的 HTML 的字符串,我只想要正文的 innerHTML。与其自己解析 HTML,不如从字符串中创建一个元素,然后直接获取正文似乎更容易。

我发现了一些相关的事情,但我无法开始工作(我再也找不到问题了)。

xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
    var ret = xmlhttp.responseText + "";

    if(xmlhttp.readyState==4 && xmlhttp.status==200)
    {
        alert(ret);
    }
}
xmlhttp.open("GET", "http://url.php", false);
xmlhttp.send();

现在我有这个 ajax 请求,但我只需要返回的正文。

我试过了document.createElement(ret).bodynew Element(ret).body但它们似乎没有用。

4

2 回答 2

4
var helper = document.createElement("html");
helper.innerHTML = ret;         
body = helper.querySelector("body"); //Or getElementsByTagName("body")[0]
于 2013-09-25T14:18:43.030 回答
-1

您可以使用 simple_html_dom来执行此操作,并使用 PHP 获取整个页面的 HTML,然后仅获取正文的内容,如下所示

$html=file_get_html("url.php");
$body=$html->find("body");
$echo $body->plaintext
于 2013-09-25T14:19:54.137 回答