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

    Regular Expression, questa sconosciuta! [useragent]

    Ciao a tutti... stavo valutando di farmi un piccolo sistema di statistiche a scopo didattico (almeno all'inizio), che mi dicesse i browser che passano da una pagina.
    Ho trovato il sito useragents.org che mi sembra racchiudere molti browser e la propria useragent. Il sito fornisce anche un pattern per regular expression.
    Io ho provato a capire come posso verificare la cosa, ma non trovo soluzione:
    Codice PHP:
    <?PHP
     $str_reg
    ="(\bfirefox|\bpmwfx\b)";     
     
    $user_agent="Mozilla/5.0 (X11; U; Linux x86_64; it; rv:1.9.0.8) Gecko/2009032712 Ubuntu/8.10 (intrepid) Firefox/3.0.8";
         
     
    ereg($str_reg$user_agent$matches);
     
    print_r($matches);
    ?>
    A me basterebbe ricevere true o false.
    L'esempio scritto sopra usa i dati che il sito da per firefox 3 e quella era la mia useragent
    Sapete aiutarmi?
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  2. #2

  3. #3
    Grazie della risposta, ma volevo staccarmi da quella soluzione... ho già fatto un sistema di statistiche basato su browscap.ini e funziona, ma lo trovo lento e fin troppo preciso per quello che poi realmente mi serve.
    Volevo esplorare altre vie, perchè alla fine quando metto in lista 7-8 browser per i 3 sistemi operativi, ho quasi il 99% delle possibilità, e se il resto li raggruppo ai fini statistici sono abbastanza soddisfatto. E secondo me dal punto di vista della velocità di esecuzione 24 record di DB sono più agili del file browscap.ini
    E poi (non di meno) imparo una cosa nuova...
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  4. #4
    uppo
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  5. #5
    ercando ancora un pochino ho trovato che dovrebbe essere preg_match la funzione da usare:
    Codice PHP:
    $str_reg="(bfirefox|bpmwfxb)";     
    $user_agent="Mozilla/5.0 (X11; U; Linux x86_64; it; rv:1.9.0.8) Gecko/2009032712 Ubuntu/8.10 (intrepid) Firefox/3.0.8";
         
    $ris=preg_match($str_reg$user_agent);
    echo(
    $ris); 
    Ma qualcosa non va dovrebbe restituire 1 invece restituisce 0
    Mi sa che $str_reg non è scritto corretto... eppure l'ho copiato dal sito
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  6. #6
    Quel pattern semplicemente cerca nella la stringa "bfirefox" OPPURE la stringa "bpmwfxb" nel testo contenuto in $user_agent. Dal momento che nessuna delle due e' presente, e' normale che restituisca 0. Non so da dove viene il pattern, ma di sicuro non si adatta al caso.

  7. #7
    Quindi mi stai dicendo che non è un pattern di ricerca valido per il mio browser.... e chissà come mai il sito lo da come pattern.
    Non ci si può più fidare allora!
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  8. #8
    si il pattern era sbagliato quello giusto era: (\bfirefox|\bpmwfx\b) avevo copiato male e poi dovevo mettere tutto in minuscolo.

    Ora però ho un altro problema:
    Codice PHP:
    <?PHP
    $str_reg
    ="(msn)[ ]*\d";     
    $user_agent="Mozilla/5.0 (X11; U; Linux x86_64; it; rv:1.9.0.8) Gecko/2009032712 Ubuntu/8.10 (intrepid) Firefox/3.0.8";
         
    $ris=preg_match(strtolower($str_reg), strtolower($user_agent));
    echo(
    $ris);
    ?>
    Mi da errore...

    codice:
    Warning: preg_match() [function.preg-match]: Unknown modifier '[' in C:\Inetpub\vhosts\akkattp.com\subdomains\stat\httpdocs\provaUserAgent.php on line 5
    Eppure anche questo pattern l'ho preso dal sito...
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

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.