Jump to content

Recommended Posts

I've been pulling my hair out over this. I have a web page that i'm trying to get the contents of all of the divs with a certain class. I figured xpath would be the best way to go but i can't figure it out and theres a surprising lack of examples/tutorials about using it with HTML. i have the following and i know i'm getting the right number of divs. I just don't know how to get their innerHTML/contents.

 

		$url = "http://www.vanityfair.com/politics/2012/10/michael-lewis-profile-barack-obama";

	$ctx     = stream_context_create(array('http'=> array('timeout' => 10)));

	libxml_use_internal_errors(TRUE);
	$num = 0;

	if($html = @file_get_contents($url,false,$ctx)){

		$doc   = DOMDocument::loadHTML($html);
		$xpath = new DOMXPath($doc);

		foreach($xpath->query('//div[@class="page-display"]') as $div){
			$num++;
			echo "$num. ";


		//	echo $div->item(0)->textContent;
			//????

			echo "<br/>";
		}

		echo "<br/>FINISHED";

	}

 

The $div->item(0)->textContent line breaks the loop and doesn't output anything.

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.