están ahí construir en funciones en versiones más recientes de php especialmente diseñado para ayudar en esta tarea ?

InformationsquelleAutor rsk82 | 2010-08-24

6 Comentarios

  1. 1

    Cadena de reemplazar y explotar funcionaría si el código HTML es limpio y siempre el mismo, tan pronto como usted tiene nuevos atributos se freno.
    Tan sólo confiable solución sería el uso de expresiones regulares o XML/HTML parser.
    Compruebe http://php.net/manual/en/book.dom.php

    • Regex no son fiables al analizar HTML con ella, porque HTML no es regular.
    • preg_match_all(‘/<tr>\s*<td[^>]*>((?:<td.+?<\/td|.)*?)<\/td>/si’, $html, $matches); donde está el problema?
    • cómo acerca de esto: no es el análisis?
    • Yo entiendo de donde vienes, a pesar de tablas HTML son bastante regulares, a diferencia del resto del HTML, ya que la pregunta acerca de tablas donde estoy bastante seguro de que en mi solución.
  2. 1

    Una alternativa al uso de un nativo Analizador DOM podría ser el uso de YQL. De esta manera usted no tiene que hacer un verdadero análisis de sí mismo. El YQL Servicio Web permite a las aplicaciones de consulta, filtro, y combinar datos de diferentes fuentes a través de Internet.

    Por ejemplo, para agarrar la tabla HTML con el ejemplo de la clase dada en

    http://www.w3schools.com/html/html_tables.asp

    que usted puede hacer

    $yql = 'http://tinyurl.com/yql-table-grab';
    $yql = json_decode(file_get_contents($yql));
    print_r( $yql->query->results );

    He deliberó acorta la URL para no estropear la respuesta. $yql en realidad los enlaces a la YQL API, añade algunas opciones y contiene la consulta:

    select * from html 
        where xpath="//table[@class='example']" 
        and url="http://www.w3schools.com/html/html_tables.asp"

    YQL puede devolver JSON y XML. Me has hecho volver JSON y decodifica este entonces, que luego se traduce en una estructura anidada de stdClass objetos y Matrices (por lo que no todas las matrices). Tienes que ver si se adapta a tus necesidades.

    Que intente interactiva de YQL de la consola para ver cómo funciona.

  3. -1

    Si quieres convertir el html-descripción de una tabla, esto es lo que yo haría:

    Usted tiene que trabajar en los detalles de su cuenta, ya que yo no sé si usted desea manejar diferentes líneas como subarrays o desea combinar todas las líneas en una gran matriz o algo más.

  4. -2

    podría utilizar el punto de explotar-función para activar la tabla de cols y rows en matrices.

    ver: php explotar

    • explode() no ayuda para dividir una estructura de la tabla HTML, no??
    • usted tendría que tomar el cuidado de las etiquetas de cierre, pero la división de la tabla como: $filas = explode(«<tr>», $tablehtml); podría ser una posibilidad. Pero estoy de acuerdo con usted y @amora recorrer el árbol dom parece ser una mejor manera.

Dejar respuesta

Please enter your comment!
Please enter your name here