给定一个包含整个页面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).body
和new Element(ret).body
,但似乎没有效果。
答案 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