Domanda

posso accedere ad alcune delle voci di 'classe' con un

$ret = $html->find('articleINfo'); and then print the first key of the returned array.

Tuttavia, ci sono altri tag che mi servono come span class = id "firstArticle_0" e io non riesco a trovarlo.

$ret = $html->find('#span=id[ etc ]');

In alcuni casi viene restituito qualcosa, ma non è un array, o è un array con le chiavi vuote.

Purtroppo non posso usare var_dump per vedere l'oggetto, in quanto produce var_dump 1000 pagine di spazzatura illeggibile. Il codice simile a questo.

<div id="articlething"> 
    <p class="byline">By Lord Byron and <a href="www.marriedtothesea.com">Alister Crowley</a></p> 
    <p> 
    <span class="location">GEORGIA MOUNTAINS, Canada</span> | 
    <span class="timestamp">Fri Apr 29, 2011 11:27am EDT</span> 
    </p> 
</div> 
<span id="midPart_0"></span><span class="mainParagraph"><p><span        class="midLocation">TUSCALOOSA, Alabama</span> - Who invented cheese? Everyone wants to know. They held a big meeting. Tom Cruise is a scientologist. </p> 

</span><span id="midPart_1"></span><p>The president and his family visited Chuck-e-cheese in the morning </p><span id="midPart_2"></span><p>In Russia, 900 people were lost in the balls.</p><span id="midPart_3">
È stato utile?

Soluzione

Simple HTML DOM può essere usato facilmente per trovare un arco con una classe specifica.

Se vuole tutto campata è con class = posizione, allora:

// create HTML DOM
$html = file_get_html($iUrl);

// get text elements
$aObj = $html->find('span[class=location]');

Poi fare qualcosa di simile:

foreach($aObj as $key=>$oValue)
{
   echo $key.": ".$oValue->plaintext."<br />";
}

Ha funzionato per me con il tuo esempio la mia uscita era:

label = span class = posizione: Trovato 1

0: Georgia Mountains, Canada

La speranza che aiuta ... e per favore Simple HTML DOM è grande per quello che fa e facile da usare una volta a ottenere il blocco di esso. Continuare a provare e si avrà una serie di esempi che è sufficiente utilizzare più e più volte. Ho raschiato alcune pagine piuttosto folle e ottengono più facile e più facile.

Altri suggerimenti

Prova ad usare questo. Ha lavorato per me molto bene ed estremamente facile da usare. http://code.google.com/p/phpquery/

La documentazione sul PHP semplice parser DOM sono spotty sulla decifrazione Open Graph meta tag. Ecco cosa sembra funzionare per me:

<?php
// grab the contents of the page
$summary = file_get_html($url);

// Get image possibilities (for example)

$img = array();

// First, if the webpage has an og:image meta tag, it's easy:
if ($summary->find('meta[property=og:image]')) {
  foreach ($summary->find('meta[property=og:image]') as $e) {
    $img[] = $e->attr['content'];
  }
}
?>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top