Как отображать содержимое с одного сайта на другом с помощью PHP?

Я однажды услышал, что это можно сделать с помощью Curl, но я не хочу отображать все содержимое с внешнего сайта на моем сайте, а только содержимое из определенного div. Как это может быть сделано?

Вы можете использовать PHP Simple DOM Parser, чтобы захватить страницу и легко выбрать ее части.

Так же легко, как:

$html = file_get_html('http://www.google.com/'); $ret = $html->find('div[id=foo]'); 

Документация здесь .

Если то, что вы хотите сделать, это захват заголовка http://www.freeoh.net/ , следующий код будет работать. Вам нужно поместить simple_html_dom.php и файл с именем page.txt (убедитесь, что сценарий имеет права на чтение и запись на него) в той же папке, что и следующий скрипт. (Я предполагаю, что у вас уже включен cURL, поскольку вы упомянули об этом в своем вопросе.)

 <?php include 'simple_html_dom.php'; $curl = curl_init(); curl_setopt ($curl, CURLOPT_URL, "http://www.freeoh.net/"); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)"); curl_setopt($curl, CURLOPT_AUTOREFERER, 1); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($curl, CURLOPT_REFERER, "http://www.freeoh.net/"); $result = curl_exec ($curl); curl_close ($curl); //write contents of $result to file $File = "page.txt"; $fh = fopen($File, 'w') or die("can't open file"); fwrite($fh, $result); fclose($fh); //turn file into dom object $page = file_get_html("page.txt"); $header = $page->find("div", 1); echo $header; ?> 

Это немного взломано, потому что я использовал cURL, чтобы захватить страницу, а затем ее нужно было где-то хранить, чтобы PHP Simple парсер HTML Dom обрабатывал его правильно, но он работает.

Вы можете использовать завиток, чтобы получить html с URL-адреса, который вы хотите, и затем проанализировать результаты, чтобы «захватить» этот div, который вы хотите.

Скрестив, как сказал Хорхе.
Вам все равно нужно использовать Curl и regex.