Ver Mensaje Individual
  #4 (permalink)  
Antiguo 11/10/2011, 13:44
Avatar de andresdzphp
andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Extraer datos

Bueno en estos casos es mucho mejor usar clase DOMDocument, varios expertos recomiendan no usar expresiones regulares. Dejo un ejemplo sencillo:

Código PHP:
Ver original
  1. <?php
  2. $players = array();
  3. $content = file_get_contents(
  4. "http://www.nomaskeine.com/estadisticas/puntos/25/mejores/jugadores");
  5. $doc = new DOMDocument();
  6. $doc->loadHTML($content);
  7. $xpath = new DOMXPath($doc);
  8. $row = $xpath->query('//table/tbody//tr');
  9.  
  10. foreach ($row as $r) {
  11.     $col = $r->getElementsByTagName('td');
  12.     $players[] = array(
  13.                 "position" => $col->item(0)->nodeValue,
  14.                 "name" => $col->item(1)->nodeValue,
  15.                 "team" => $col->item(2)->nodeValue,
  16.                 "points" => $col->item(3)->nodeValue,
  17.                 "price" => $col->item(4)->nodeValue,
  18.                 "efficiency" => $col->item(5)->nodeValue
  19.     );
  20. }
  21.  
  22. echo '<pre>';
  23. print_r($players);
  24. echo '</pre>';

Cita:
Resultado:

Array
(
[0] => Array
(
[position] => Centrocampista
[name] => Cesc Fàbregas
[team] => Barcelona
[points] => 62
[price] => 23.440.000
[efficiency] => 0.2645
)

[1] => Array
(
[position] => Delantero
[name] => Cristiano Ronaldo
[team] => Real Madrid
[points] => 61
[price] => 31.210.000
[efficiency] => 0.1955
)

[2] => Array
(
[position] => Delantero
[name] => Messi
[team] => Barcelona
[points] => 60
[price] => 27.750.000
[efficiency] => 0.2162
)

... ... ...
)
Nota: es posible que se pueda simplificar más. Cualquier duda la respondo en el tema.

Un aporte para aprender:

http://www.forosdelweb.com/f18/aport...ml-dom-792348/
http://php.net/manual/es/class.domdocument.php

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP