Итак, скажем, у меня есть мой сайт:
<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.
Ну вот:
$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);
Как упоминает @Mohammad, вам нужно будет использовать php для этого. Сначала вы захватите удаленную страницу с помощью file_get_contents:
$html = file_get_contents('http://othersite.com');
Затем проанализируйте это с помощью preg_match (регулярное выражение) или некоторой сторонней библиотеки, которая выполняет очистку страницы, например https://code.google.com/p/phpquery/ PHPQuery
Использование preg_match проще, но вам нужно определить начало/конец требуемого раздела. Если вы точно знаете - или идеально, если у вас есть контроль над другим сайтом, в этом случае я бы добавил теги begin/end comment, а затем еще больше вам нужно было бы запустить всю страницу через php-запрос, который нелегко бы найти правый раздел.
В приведенном выше случае достаточно легко определить начало (т.е. id = "MySiteDIV"), но конец намного сложнее. Поэтому моя рекомендация состоит в том, чтобы найти 2 части на этом удаленном сайте, которые являются уникальными, и использовать preg_match, чтобы захватить это. Добро пожаловать в регулярное выражение.
DOMDocument
.