Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 28
  1. #11
    Ti basta fare un print_r($risultato) per vedere com'è strutturato l'array. In pratica esso è un array multidimensionale che contiene tutte le corrispondenze trovate in base all'espressione regolare utilizzata ed i valori che combaciano con le espressioni tra parentesi (...)

    preg_match_all()
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  2. #12
    Ho un problema con i valori che non sono delimitati da nulla e che si trovano a distanza di due spazi tipo questo:
    codice:
    Potenza:
        
    59
    Non funziona neanche facendo copia/incolla nel codice...
    Ho provato anche a fare un
    Codice PHP:
    $testostr_replace("\n",'',$testo);
    $testostr_replace("\r",' ',$testo); 
    Ma non ho risolto il problema.. Come posso fare?

  3. #13
    Puoi adottare varie strategie come eliminare i \n \r prima del match:

    Codice PHP:
    <?php
    $txt 
    "Potenza:

    59"
    ;
    $txt str_replace(array("\r""\r\n""\n"), ''$txt);
    $regex "/Potenza:([0-9]+)/i";
    preg_match_all($regex$txt$risultato);
    echo 
    $risultato[1][0];
    echo 
    "<br/><br/>";
    ?>

    oppure includerli nella regex:

    Codice PHP:
    <?php
    $txt 
    "Potenza:

    59"
    ;
    $regex "/Potenza:[\\\n\\\r]*([0-9]+)/i";
    preg_match_all($regex$txt$risultato);
    echo 
    $risultato[1][0];
    echo 
    "<br/><br/>";
    ?>
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #14
    Ok.. Ora mi rimane uno spazio lungo però... sarebbe questo: " "
    Quì melo modifica.. Cmnq sia è quello che si genera di solito con il TAB sugli editor PHP

  5. #15
    Il tab è \t per cui ti basta aggiungere anche quest'ultimo alla regex oppure al replace.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #16
    Quote Originariamente inviata da Luigi636 Visualizza il messaggio
    Ok.. Ora mi rimane uno spazio lungo però... sarebbe questo: " "
    Se la stringa è esattamente quella indicata, conviene escludere tutti i caratteri che non sono numerici:
    Codice PHP:
    $string='Potenza:

    59'
    ;
    var_dump(preg_replace('/[^\d]/','',$string)); 

  7. #17
    Perfetto... Grazie mille a tutti per la collaborazione

  8. #18
    Ultima cosa... Ho un input cosi:
    12.88 - 10.01
    oppure così:
    12.88 -
    o ancora:
    10.01 -

    etc... Che in pratica indica l'anno ed il mese di produzione.. Io dovrei modificarlo così, per il primo esempio:
    12/1988 - 10/2001

    Come faccio per verificare se in si tratta prima o dopo del 2000? Considerando che la seconda data potrebbe anche non esserci...

  9. #19
    Quote Originariamente inviata da Luigi636 Visualizza il messaggio
    Ultima cosa... Ho un input cosi:
    12.88 - 10.01
    oppure così:
    12.88 -
    o ancora:
    10.01 -

    etc... Che in pratica indica l'anno ed il mese di produzione.. Io dovrei modificarlo così, per il primo esempio:
    12/1988 - 10/2001

    Come faccio per verificare se in si tratta prima o dopo del 2000? Considerando che la seconda data potrebbe anche non esserci...
    millenium bug!

    verifica che l'anno non sia minore dell'anno in corso, puoi avere l'anno a due cifre con date('y') (Nota la y minuscola)
    P.S.: tra 70 anni potrebbe non funzionare correttamente ;-)

  10. #20
    Ho risolto controllando se contiene un 190 lo sostituisce con 200 :-)

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.