从字符串中获取DOM

时间:2013-09-25 14:14:56

标签: javascript ajax dom

给定一个包含整个页面HTML的String,我只想要body的innerHTML。如果我可以从String中创建一个元素,然后直接获取正文,而不是自己解析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,但似乎没有效果。

2 个答案:

答案 0 :(得分:4)

var helper = document.createElement("html");
helper.innerHTML = ret;         
body = helper.querySelector("body"); //Or getElementsByTagName("body")[0]

答案 1 :(得分:-1)

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

$html=file_get_html("url.php");
$body=$html->find("body");
$echo $body->plaintext