Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    776

    $_SERVER['HTTP_USER_AGENT'] dividere i campi

    Ciao a tutti,

    qualcuno è a conoscenza del modo per dividere la stringa che si riceve con $_SERVER['HTTP_USER_AGENT'] in campi separati?
    Esistono delle regole precise per la generazione di questa stringa?

    Scusate per il titolo, mi riferivo a HTTP_USER_AGENT, non a HTTP_REFERER.
    Il corpo del msg l' ho potuto cambiare, il titolo, no


    Grazie,
    Roberto
    Ultima modifica di robynosse; 14-08-2020 a 13:09

  2. #2
    Utente di HTML.it L'avatar di ninja72
    Registrato dal
    May 2020
    residenza
    -
    Messaggi
    319
    Non so se ho capito bene , intendi magari trasformare la stringa in un array :

    codice:
    $agentToArr = agentToArr($_SERVER['HTTP_USER_AGENT']);
    
    function agentToArr($agent)
    {
        $filter =  str_replace(["(", ")", ";", ","], "", $agent);
        $arr = explode(" ", $filter);
        return $arr;
    }
    
    foreach ($agentToArr as $value) {
        echo nl2br($value . PHP_EOL);
    }

  3. #3
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,657
    Quote Originariamente inviata da robynosse Visualizza il messaggio
    Scusate per il titolo, mi riferivo a HTTP_USER_AGENT, non a HTTP_REFERER.
    ho corretto il titolo

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    776
    Esatto, il problema è conoscere bene le regole di come viene composta la stringa, di come viene generata, qualcosa che mi permetta di fare un parse che mi valga per tutti i browser

  5. #5
    Utente di HTML.it L'avatar di ninja72
    Registrato dal
    May 2020
    residenza
    -
    Messaggi
    319
    Non ho bene capito lo scopo, comunque sia, il codice che ti ho postato precedentemente è facilmente adattabile ad un discorso di registrazione log dei client che accedono al server (per eventuali calcolo statistiche), oppure per capire il browser o sistema operativo impiegato dal client, all'interno del ciclo foreach puoi fare tutti i controlli che ritieni opportuni.

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    776
    Quote Originariamente inviata da ninja72 Visualizza il messaggio
    Non ho bene capito lo scopo, comunque sia, il codice che ti ho postato precedentemente è facilmente adattabile ad un discorso di registrazione log dei client che accedono al server (per eventuali calcolo statistiche), oppure per capire il browser o sistema operativo impiegato dal client, all'interno del ciclo foreach puoi fare tutti i controlli che ritieni opportuni.
    Lo scopo è dividere i campi per separarli e registrarli su differenti colonne di un db.

    Il problema è capire se tutti i campi sono sempre nelle stesse posizioni e se c'è una regola ben precisa di formattazione della stringa.
    ...semplicemente questo.

    Ad esempio, quando si connette il BOT di google, vale la stessa regola?
    Nella posizione 0, 1, 2, etc andranno sempre le stesse tipologie di campi?

  7. #7
    Utente di HTML.it L'avatar di ninja72
    Registrato dal
    May 2020
    residenza
    -
    Messaggi
    319
    Putruppo $_SERVER['HTTP_USER_AGENT'] non restituisce una stringa standardizzata in riferimento al browser utilizzato o crawler, dunque c'è da costruirsi una classe o funzione custom, sapendo che ci sono molti browser con relative versioni da gestire, idem per gli OS.
    Sul web comunque trovi già progetti piu o meno recenti dove affrontano questo tipo di problematica.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.