2012-07-20 91 views
0

我正在为使用外部网站显示其客户端信息的公司设计网站。目前,他们的旧网站只是链接到每个客户的外部配置文件。然而,通过这次重建,我想知道是否有任何方法将外部网站的特定部分加载到他们的新页面上。从外部域网页将HTML的某个区域加载到div中

我已经完成了我的研究,并且发现可以使用jQuery和AJAX(稍微修改一下),但所有的教程都涉及到从外部网站提取div标签,然后加载到新的div页面上的标签。

这里是我的问题:审查外部源的源代码后,我想HTML的线不包含在一个名为DIV

(除主包装等,我无法加载!)

我需要的标签是字面上的:<p class="currentAppearance"> data </p>

它对每个配置文件都有不同的线条,所以我不能只装载第200行并希望最好。

有没有人有任何解决方案(最好使用php)在外部页面上搜索该标签,然后将特定标签加载到div?

我希望我已经清楚我对所有这些后端的东西都很新颖!

回答

2

首先我会用抓住从网页上的内容: http://www.php.net/manual/en/curl.examples-basic.php

$url = 'http://www.some-domain.com/some-page'; 
$curl = curl_init($url); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); 
$htmlContent = curl_exec($curl); 
curl_close($curl); 

然后使用DomDocument(http://ca3.php.net/manual/en/book.dom.php)你例如,将能够基于其ID访问正确的div。

$doc = new DOMDocument(); 
$doc->loadHTML($htmlContent); 
foreach ($pElements as $pEl) { 
    if ($pEl->getAttribute('class') == 'currentAppearance') { 
    $pContent = $pEl->nodeValue; 
    } 
} 

$pContent现在设置与段落的带班的内容currentAppearance

+0

感谢这一点,但正如我所说的实际数据是不是在一个div,它是一类标签来定义一个段落标记。这种方法是否适用于此? – 2012-07-20 12:25:47

+0

当然可以。我会编辑我的答案。 – Tchoupi 2012-07-20 12:26:43

+0

非常感谢您的快速准确响应! – 2012-07-20 12:45:25

0

您可以使用xpath语法将其从文档中取出。