所以,说我有我的网站:
<div id="MySiteDIV">
<!-- Content in here -->
</div>
和其他人的网站:
<div id="CTs_g">
<p>Hello</p>
<div id="AG_g">This is my website</div>
</div>
如何获取HTML以及我的网站上的所有内容,它最终会像:
<div id="MySiteDIV">
<!-- Content in here -->
<div id="CTs_g">
<p>Hello</p>
<div id="AG_g">This is my website</div>
</div>
</div>
我已经看过(并尝试过)DOMDocument()
,但它似乎只能获取的内容,但我需要HTML 。
答案 0 :(得分:1)
你走了:
$dom = new DOMDocument();
$yourDom = new DOMDocument();
$yourDom->loadHTML(file_get_contents('your_template'));
$dom->loadHTML(file_get_contents('other_website'));
// You can now use the DOMDocument methods to parse whatever you want.
$div = $dom->getElementById("CTs_g");
$clone = $div->cloneNode(true);
$yourDiv = $yourDom->getElementById("MySiteDIV");
$yourDiv->appendChild($clone);
答案 1 :(得分:0)
正如@Mohammad所提到的,你需要使用php。您将首先使用file_get_contents:
获取远程页面$html = file_get_contents('http://othersite.com');
然后使用preg_match(正则表达式)或某些进行页面抓取的第三方库解析它,例如https://code.google.com/p/phpquery/ PHPQuery
使用preg_match更容易,但您需要能够定义所需部分的开头/结尾。如果您确切地知道 - 或者理想情况下您是否可以控制其他站点,在这种情况下我会添加开始/结束注释标签 - 那么您可能需要通过php查询运行整个页面,这对于找到正确的部分。
在上面的例子中,很容易定义开始(即id =“MySiteDIV”),但结束要复杂得多。所以我的建议是在该远程站点中找到两个独特的部分并使用preg_match来获取它。欢迎来到正则表达式。