Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Scomposizione date in stringhe

    Ciao,
    ho un testo che elenca delle date (oltre ad altri dati) poste nel formato AAAAMMGG,
    vorrei:
    1) riconoscere queste date
    2) scomporle e ricomporle a piacimento, tipo : GG/MM/AAAA
    So che esistono funzioni che fanno questo lavoro in automatico per le date, ma non son molto bravo a gestire le stringhe e quindi:
    1) come riconosco che le parole nel testo sono una data ??
    2) come le scompongo se non ho dei separatori ??
    Diciamo che memorizzo il testo, riga per riga, in una variabile $riga...
    Il mio futuro ?? Io lo conosco, è il PARTY !! (Party Man)
    ...e ricordati che prima o poi il po-chi gira (Il Maestro)

  2. #2

    Re: Scomposizione date in stringhe

    Originariamente inviato da rasega
    Ciao,
    ho un testo che elenca delle date (oltre ad altri dati) poste nel formato AAAAMMGG,
    vorrei:
    1) riconoscere queste date
    2) scomporle e ricomporle a piacimento, tipo : GG/MM/AAAA
    So che esistono funzioni che fanno questo lavoro in automatico per le date, ma non son molto bravo a gestire le stringhe e quindi:
    1) come riconosco che le parole nel testo sono una data ??
    2) come le scompongo se non ho dei separatori ??
    Diciamo che memorizzo il testo, riga per riga, in una variabile $riga...
    se le date AAAAMMGG sono immerse in altri numeri sarà difficile

    devi dire tu come è costruita la stringa e se ci può essere qualche costante che divida la data dal resto del testo
    prude il dito, lui sdraiato
    ha giocato a guardie e ladri col ladro sbagliato

  3. #3
    La situazione tipica è che la data si trovi in una stringa che comincia proprio con la data, seguita da '_' oppure non vi sia proprio la data.
    Per i casi particolari poi mi arrangio una volta che ho capito come gestirle...
    Il mio futuro ?? Io lo conosco, è il PARTY !! (Party Man)
    ...e ricordati che prima o poi il po-chi gira (Il Maestro)

  4. #4
    allora

    codice:
    $primo_carattere = substr($stringa, 0, 1);
    
    if ( $primo_carattere == "_" )
    {
         //non c'è la data
    }
    else
    {
         $str_data = substr($stringa, 0, 8);
    
         $str_anno = substr($str_data, 0, 4);
         $str_mese = substr($str_data, 4, 2);
         $str_giorno = substr($str_data, 6, 2);
    }
    prude il dito, lui sdraiato
    ha giocato a guardie e ladri col ladro sbagliato

  5. #5
    Grazie, comincio a capirci qualcosa...!!
    Il mio futuro ?? Io lo conosco, è il PARTY !! (Party Man)
    ...e ricordati che prima o poi il po-chi gira (Il Maestro)

  6. #6
    Per ricercare le date in una stringa
    Codice PHP:
    preg_match_all('#[0-9]{8}#'$testo$data); 
    e trovi le varie date in $data[0]

  7. #7
    Originariamente inviato da cubalibre810
    Per scomporla puoi usare una cosa simile
    Codice PHP:
    sscanf($data"%4x%2x%2x"$anno$mese$giorno); 

    Per ricercare le date in una stringa
    Codice PHP:
    preg_match_all('#[0-9]{8}#'$testo$data); 
    e trovi le varie date in $data[0]
    fico
    prude il dito, lui sdraiato
    ha giocato a guardie e ladri col ladro sbagliato

  8. #8
    Lo sscanf non tenerlo in considerazione, non va così


    Così è giusto
    Codice PHP:
    sscanf($data"%4s%2s%2s"$anno$mese$giorno); 

  9. #9
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    $pattern = "#\d{8}#";
    function inverti($matches) {
    return substr($matches[0],6,2).'/'.substr($matches[0],4,2).'/'.substr($matches[0],0,4);
    }
    echo preg_replace_callback($pattern,'inverti',$stringa);

  10. #10
    Scusa, ma per stampare poi i valori non dovrebbe bastare fare:
    Codice PHP:
    print $str_giorno $str_mese $str_anno"
    Il mio futuro ?? Io lo conosco, è il PARTY !! (Party Man)
    ...e ricordati che prima o poi il po-chi gira (Il Maestro)

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.