Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it L'avatar di maxtn
    Registrato dal
    Jul 2002
    Messaggi
    712

    Estrarre testo da stringa

    Ciao, come posso fare:
    Se una stringa contiene ad. es. la parola "prova" devo avere solo il testo che c'è prima di prova.

    Es. 123prova14 devo avere 123
    Ubuntu 10.10 x86_64

  2. #2

  3. #3
    Utente di HTML.it L'avatar di maxtn
    Registrato dal
    Jul 2002
    Messaggi
    712
    Non so perchè ma non va!
    Vorrei avere i numeri che ci sono prima del testo!

    Codice PHP:
    if (eregi ("[a-z]"$value)):
    $pos strpos($valueeregi("[a-z]"$value));

    $numordine substr($value0$pos);
    endif; 
    Ubuntu 10.10 x86_64

  4. #4
    Utente di HTML.it L'avatar di maxtn
    Registrato dal
    Jul 2002
    Messaggi
    712
    Che pirla: eregi("[a-z]", $value) mi da solo vero o falso,
    quindi come posso fare?

    Aiuto!
    Ubuntu 10.10 x86_64

  5. #5
    Utente di HTML.it L'avatar di *Ray*
    Registrato dal
    Oct 2000
    Messaggi
    495
    Aspetta.. ma tu hai una stringa fatta cosi:

    NNNNSSSSSMMMMM

    Dove N e M sono cifre, S sono lettere, e devi tirare fuori solo le lettere, oppure devi tirare fuori solo NNNN ?

  6. #6
    Utente di HTML.it L'avatar di maxtn
    Registrato dal
    Jul 2002
    Messaggi
    712
    Originariamente inviato da *Ray*
    Aspetta.. ma tu hai una stringa fatta cosi:

    NNNNSSSSSMMMMM

    Dove N e M sono cifre, S sono lettere, e devi tirare fuori solo le lettere, oppure devi tirare fuori solo NNNN ?

    solo NNNN
    Ubuntu 10.10 x86_64

  7. #7
    Utente di HTML.it L'avatar di *Ray*
    Registrato dal
    Oct 2000
    Messaggi
    495
    Urgh, se ti trovi un problema cosi' vuole dire che probabilmente non hai impostato bene come salvi i dati, c'e' un errore a monte secondo me.

    Si risolve con una regular expression, e qui non ti so aiutare.

    Ci sono due possibilita', senno':

    Se il numero NNNN ha lunghezza fissa di un certo numero di cifre K, allora fai un substr(stringa, 0, K).

    Se ha lunghezza variabile, ti consiglio di fare un for:

    codice:
        $stringa = "12343bambino324923";
        $numeroPrima = "";
    
        $length = strlen($stringa);
        for($i = 0; $i < $length; $i ++)
            {
            $currentChar = substr($stringa, $i, 1);
            if ((ord($currentChar) >= ord('0')) && (ord($currentChar) <= ord('9'))
                $numeroPrima .= $currentChar;
            }
    Questa soluzione ha l'eleganza di un ippopotamo, ma funziona.

  8. #8
    Utente di HTML.it L'avatar di maxtn
    Registrato dal
    Jul 2002
    Messaggi
    712
    Così può andare, però mi prende anche i numeri che ci sono dopo le lettere!
    Ubuntu 10.10 x86_64

  9. #9
    Utente di HTML.it L'avatar di *Ray*
    Registrato dal
    Oct 2000
    Messaggi
    495
    Dopo l'if manca un:

    codice:
        else
            break;

  10. #10
    Utente di HTML.it L'avatar di maxtn
    Registrato dal
    Jul 2002
    Messaggi
    712
    Questo non l'avevo mai usato! grazie
    Ubuntu 10.10 x86_64

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.