Visualizzazione risultati 1 fino 3 di 3

Discussione: [Regex] Prelevare caratteri "a capo"

  1. #1
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito [Regex] Prelevare caratteri "a capo"

    Buongiorno,
    mi trovo a dover prelevare dati da un file di testo che possiede diversi "a capo". Inizialmente utilizzavo la funzione file() per prelevare ogni singola riga ma adesso che ho notato che diversi files hanno più di 3 righe mi trovo in panne.

    I file di testo che utilizzo sono in questo formato:

    Codice:
    Destinatario: (.*)
    Data: (.*)
    
    msg
    La regex utilizzata è:

    Codice PHP:
    $regex = '#Destinatario: (.*)
    Data:(.*)

    (.*)#i'
    ;
    Ovviamente se al posto di "msg" c'è più di una riga mi viene presa solo la prima. C'è modo di prelevare anche le altre?

    Saluti e Buona Domenica,
    Michelangelo
    Apprezzi l'aiuto? Offrimi un caffè!

  2. #2
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Il meta carattere . ( http://www.php.net/manual/en/regexp.reference.dot.php ) include qualsiasi carattere, escluso il ritorno a capo.
    Per aggiungerlo devi inserire il modificatore s alla regexp, in questo modo qualsiasi . all'interno della regexp include anche i ritorni a capo. ( qui trovi tutti i possibili modificatori: http://php.net/manual/en/reference.p....modifiers.php )

    Se invece vuoi limitare questa caratteristica a una solo sottostringa, puoi usare i subpatterns:
    Codice:
    (?s:(.*))
    Ultima modifica di javascripter : 28-11-2010 alle ore 12.49.24

  3. #3
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,233

    Predefinito

    Risolto, grazie! :-)
    Apprezzi l'aiuto? Offrimi un caffè!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •