PHP从(已解析的)HTML获取元素

PHP从(已解析的)HTML获取元素,php,html,Php,Html,我目前正在努力使一个网站手机友好。该网站不是托管在同一个Web服务器上,因此我必须将文档加载到服务器的PHP中,以防止Javascript中出现同源问题。然后,我使用jQuery的Ajax将诸如用户帖子之类的元素解析到我准备好的jQuery移动文档中 问题是,该网站使用的是一个旧的论坛软件,它使用表格,并且没有在HTML元素中设置ID。另一个问题是,我从PHP向移动应用程序发送了1.1MB的完整文档。因此,基本上我加载的网站如下: $this->url = $url; //website

我目前正在努力使一个网站手机友好。该网站不是托管在同一个Web服务器上,因此我必须将文档加载到服务器的PHP中,以防止Javascript中出现同源问题。然后,我使用jQuery的Ajax将诸如用户帖子之类的元素解析到我准备好的jQuery移动文档中

问题是,该网站使用的是一个旧的论坛软件,它使用表格,并且没有在HTML元素中设置ID。另一个问题是,我从PHP向移动应用程序发送了1.1MB的完整文档。因此,基本上我加载的网站如下:

$this->url = $url; //website URL
$this->file = file_get_contents($this->url); //load the document

echo $this->file;
获取我需要的元素,并将其发布到移动应用程序中:

window.beitraege = $j(htmldoc).find('#lastthreads9'); //find the latest Posts
$j("#beitraege").html(window.beitraege); //parse them into a div

因此,为了不向移动应用程序发送1.1MB不必要的数据,我只想发送ID为lastthreads9的元素。

我做了类似的事情,使用php中的HTML DOM从HTML源中提取标记

$doc = new DOMDocument();
@$doc->loadHTML($this->file); // call in your HTML source

// get title
$title = $doc->getElementsByTagName("title");
您可能需要对其进行一些调整,但是您可以通过使用诸如getElementById之类的内容来代替getElementsByTagName,以这种方式找到HTML ID