PHP从(解析)HTML中获取元素

时间:2014-10-03 10:21:06

标签: php html

我目前正努力使网站移动友好。网站不在同一个Web服务器上托管,因此我必须将文档加载到我的服务器的PHP中以防止Javascript中的同源问题。然后我使用jQuery的Ajax将Elements(例如用户帖子)解析到我准备好的jQuery Mobile文档中。

问题是,网站使用旧的论坛软件,该软件使用表格而不将ID设置到HTML元素中。另一个问题是,我将完整的文档(1.1 MB)从PHP发送到移动应用程序。所以,基本上我加载网站就像:

$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.1 MB的不必要的数据,我只想发送元素,例如,ID" lastthreads9"。

1 个答案:

答案 0 :(得分:0)

我已经做了类似的事情,使用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。