Visualizzazione risultati 1 fino 4 di 4

Discussione: Segni commento /* */ ed espressione regolare:

  1. #1
    Guest

    Predefinito Segni commento /* */ ed espressione regolare:

    La mia scringa è questa:

    ****** mario /* Created by mario */
    /* This file .... */ Ciccio
    Sto cercando di applicare ad una stringa tipo questa , una espressione regolare, un esempio:
    Codice:
    preg_match_all('#ed(.*?)rio#i', $stringa, $matches, PREG_PATTERN_ORDER);
    echo "******".$stringa."********";
    		echo "<pre>"; print_r($matches);echo "</pre>";
    Ecco il risultato di ciò che stampa con quelle tre righe di codice:
    Codice:
     ******mario /* Created by mario */ 
    /* This file .... */  Ciccio********
    Array
    (
        [0] => Array
            (
                [0] => ed by mario
            )
    
        [1] => Array
            (
                [0] =>  by ma
            )
    
    )
    Se invece il codice è:
    Codice:
    preg_match_all('#mario(.*?)This#i', $stringa, $matches, PREG_PATTERN_ORDER);
    echo "******".$stringa."********";
    		echo "<pre>"; print_r($matches);echo "</pre>";
    Il risultato è:
    Codice:
    ******mario /* Created by mario */
     /* This file .... */  Ciccio********
    Array
    (
        [0] => Array
            (
            )
    
        [1] => Array
            (
            )
    
    )
    In pratica alla mia espressione regolare NON piacciono i commenti /* */ .

    Come risolvere? io voglio quello che è compreso tra "mario" e "This"

    EDIT: Ho scoperto che il problema NON SONO I COMMENTI, ma il "\n" che spezza in due la stringa!
    Ultima modifica di attorianzo : 27-05-2007 alle ore 21.40.07

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Citazione Originalmente inviato da attorianzo
    Ho scoperto che il problema NON SONO I COMMENTI, ma il "\n" che spezza in due la stringa!
    Hai risolto?
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    Guest

    Predefinito

    Mah diciamo che ho risolto.. Non pensavo onestamente che non fosse possibile applicare una espressione regolare qualora la stringa avesse qualche \n in mezzo...

    In pratica prima della regexp sostituisco gli \n con dei palliativi e convenzionali "<br_/>" (che piacciono invece a preg_match) e dopo l'espressione regolare riconverto i <br_/> in \n.

    Beh... sarà rozzo ma funziona :/

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Qui sono elencate le abbreviazioni per tutti i tipi di caratteri tra cui quelli di spazio.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

Regole di scrittura

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