Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Parser documenti HTML in PHP

    Dovrei realizzare in php un parser che preso ed aperto un link ad una pagina html, l'analizzi per prendere il contenuto di alcuni tag tipo <title> ecc...

    Qualcuno può venirmi incontro con qualche dritta?

    Grazie

  2. #2
    ti consiglio di studiarti le espressioni regolari

  3. #3
    E per "prelevare" il codice html del link in oggetto esiste un modo particolare?

    Grazie ancora

  4. #4
    eh mi dispiace ma non ne so molto... mi sa che dobbiamo attendere le risposte di qualcuno più esperto...

  5. #5
    Qualcuno può aiutarmi per favore?

  6. #6
    Utente di HTML.it L'avatar di JHammer
    Registrato dal
    Sep 2004
    Messaggi
    754
    Non ho capito quello che devi fare esattamente.
    Se devi analizzare il documento puoi usare un parser xml oppure, forse è meglio, implementarne una versione ridotta tu stesso attraverso le espressioni regolari.
    Anche perchè generalmente se i parser non trovano un doc xml ben fatto si offendono parecchio!!!

  7. #7

    regular expression

    Confermo anche io, ti servono le regular expression, se impari a maneggiarle bene possono anche essere molto più rapide da usare per parsare determinate informazioni.
    Con l'html che c'è in giro a mio avviso un parser html potrebbe fare molta fatica.

    Ti apri il file con un normale fopen, leggi il contenuto e poi vai a scrivere una regular expression per beccarti title alt etc.

    Le regexp son rognose da imparare all'inizio ma servono come il pane soprattutto se devi fare lavoretti del genere

  8. #8
    vi ringrazio tutti, proverò in questo modo sperando di riuscirci... ho l'incontro con la prof molto a breve e sto ancora a 0

  9. #9
    tempo fa avevo fatto questo, sicuramente ci sarà dentro qualche cagata, però mi sembra che funzionasse...l'url della pagina si passava tramite get...occorrerebbe fare qualche controllo in più però come base magari ti può servire...
    codice:
    <?php
    
    $page = file($_GET['p']);
    
    for ($x = 0; $x < count($page); $x++)
    {
     if (preg_match("#<title>(.+?)</title>#si", $page[$x]))
     {
      $titolo = preg_replace("#<title>(.+?)</title>#si", "\\1", $page[$x]);
     }
    }
    
    echo $titolo;
    
    ?>

  10. #10
    grazie mille pugia, tra poco partirò nella realizzazione e proverò

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.