Выбор конкретного div с внешней веб-страницы с использованием CURL

Привет, кто-нибудь может мне помочь, как выбрать конкретный div из содержимого веб-страницы.

Предположим, я хочу получить div с id="wrapper_content" с веб-страницы http://www.test.com/page3.php .

Мой текущий код выглядит примерно так: (не работает)

 //REG EXP. $s_searchFor = '@^/.dont know what to put here..@ui'; //CURL $ch = curl_init(); $timeout = 5; // set to zero for no timeout curl_setopt ($ch, CURLOPT_URL, 'http://www.test.com/page3.php'); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); if(!preg_match($s_searchFor, $ch)) { $file_contents = curl_exec($ch); } curl_close($ch); // display file echo $file_contents; 

Поэтому я хотел бы знать, как я могу использовать выражения reg для поиска определенного div и как отключить остальную веб-страницу, так что $file_content содержит только div.

HTML не является регулярным , поэтому вы не должны использовать регулярное выражение. Вместо этого я бы рекомендовал HTML-анализатор, такой как простой HTML DOM или DOM

Если вы собираетесь использовать Simple HTML DOM, вы бы сделали что-то вроде следующего:

 $html = str_get_html($file_contents); $elem = $html->find('div[id=wrapper_content]', 0); 

Даже если вы использовали регулярное выражение, ваш код по-прежнему будет работать неправильно. Вам нужно получить содержимое страницы, прежде чем вы сможете использовать регулярное выражение.

 //wrong if(!preg_match($s_searchFor, $ch)){ $file_contents = curl_exec($ch); } //right $file_contents = curl_exec($ch); //get the page contents preg_match($s_searchFor, $file_contents, $matches); //match the element $file_contents = $matches[0]; //set the file_contents var to the matched elements 
 include('simple_html_dom.php'); $html = str_get_html($file_contents); $elem = $html->find('div[id=wrapper_content]', 0); в include('simple_html_dom.php'); $html = str_get_html($file_contents); $elem = $html->find('div[id=wrapper_content]', 0); 

Загрузить simple_html_dom.php

проверьте наш hpricot, он позволяет вам элегантно выбирать разделы

сначала вы будете использовать завиток, чтобы получить документ, затем используйте hpricot, чтобы получить нужную вам часть