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

    Come gestisco questa stringa?

    Ho delle stringhe di questo tipo
    ,MA1,MI2,FA1,FI2,
    ,,MI1,GR2,FA1,
    ,MA2,MI1,GR2,FA2,FI1

    E vorrei metterle in questo modo in output(prendo come esempio questa ,MA1,MI2,FA1,FI2,)

    MA MI FA FI
    1 2 1 2

    Come faccio?
    Sto uscendo pazzo...
    Grazie

  2. #2
    con substr prendi i primi due caratteri, ed in seguito il terzo. questo per ogni espressione


    Codice PHP:
    $str "MA1";

    $str1 substr($str,0,2);
    $str2 substr($str,2,1); 
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  3. #3

    Re: Come gestisco questa stringa?

    Originariamente inviato da lupinvv
    Ho delle stringhe di questo tipo
    ,MA1,MI2,FA1,FI2,
    ,,MI1,GR2,FA1,
    ,MA2,MI1,GR2,FA2,FI1

    E vorrei metterle in questo modo in output(prendo come esempio questa ,MA1,MI2,FA1,FI2,)

    MA MI FA FI
    1 2 1 2

    Come faccio?
    Sto uscendo pazzo...
    Grazie
    Ti ringrazio per la risposta ma il problema è un pò più complesso.
    In pratica le stringhe che io ho sono varie e in questa modalità

    ,MAx,MIx,GRx,FAx,FIx, dove x sta per un numero da 0 a 99

    Però la stringa non è sempre così,ovvero alcuni elementi potrebbero mancare,potrebbe essere anche come sotto
    ,MAx,GRx
    ,FIx
    ,MIx,FAx

    Però a me serve mettere sempre i dati in questo modo e in questo ordine

    MA MI GR FA FI
    x x x x x

    Quindi bisognerebbe estrarre dalla stringa i pezzi tra una virgola e l'altra,fare u confronto per capire se sono MA,MI,GR... e poi estrarre il numero associato e mettere tutto sotto la forma

    MA MI GR FA FI
    x x x x x


    Spero di essermi spiegato bene
    Grazie

  4. #4
    Provato con l'explode???
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  5. #5
    Forse così dovrebbe funzionare
    Codice PHP:

    $str 
    ",MA1,MI2,FA1,FI2,";
    $str_t eregi_replace("[0-9,]"," ",$str);
    $str_n eregi_replace("[a-zA-Z,]"," ",$str);
    echo 
    $str_t."
    "
    .$str_n
    ti potresti fare una funzioncina
    Codice PHP:
    function filtra($str){
        
    $str_t eregi_replace("[0-9,]"," ",$str);
        
    $str_n eregi_replace("[a-zA-Z,]"," ",$str);
        return print 
    $str_t."
    "
    .$str_n;

    la richiami così
    Codice PHP:
    $str ",MA1,GR2
    ,FI1
    ,MI2,FA1"
    ;

    filtra($str); 

  6. #6
    Ti ringrazio ancora per la risposta ma neanche così funziona forse perchè non mi sono spiegato bene io.

    Se ho una stringa di questo tipo
    $str = ",MA1,MI2,FA1,FI2,";

    Devo riuscire a leggere la stringa e capire dopo MA che numero c'è e metterlo in questa forma

    MA
    1

    Dopo MI che numero c'è e metterlo così

    MA MI
    1 2

    Ma la stringa potrebbe anche non avere MA per esempio...

    Capito?
    Fammi sapere
    Grazie

  7. #7
    Perchè ad esempio se MA non esiste mi deve mettere uno 0 non mi deve lasciare lo spazio vuoto o saltarla completamente capito?

  8. #8
    Oppure partendo da questa che potrebbe avvicinarsi alla soluzione

    $str = ",MA1,MI2,FA1,FI2,";
    $str_t = eregi_replace("[0-9,]"," ",$str);
    $str_n = eregi_replace("[a-zA-Z,]"," ",$str);
    echo $str_t."
    ".$str_n;

    potrei ora confrontare str_n per vedere se è nella forma MA,MI,GI,FA,FI e se manca qualcosa potrei aggiungerlo e aggiungere lo 0 in str_t?Ma come?

  9. #9
    potrei magari fare un test del genere?

    if (strpos ($str,"MA")==0){
    $risfin= "MA0".$risfin;
    }

    E per MA ho risolto.Ma per quelli innestati tipo MI GR FA come faccio?Come faccio ad inserire una stringa o un numero in una posizione precisa di una stringa?

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.