Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 19 su 19
  1. #11
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,360
    Google is your friend.

    Codice PHP:
    <?php
    $stringa            
    "Giuseppe Garibaldi è nato a Nizza il 4 luglio 1821, morto a Caprera il 2 giugno 1882 alle 15.45";
    $p                  '[0-9]{4}';
    $pattern            "~$p(?!.*$p)~";
    $replacement        '1807';
    $stringa_modificata preg_replace($pattern$replacement$stringa1$count);
    echo 
    "La stringa prima<br/>";
    echo 
    $stringa."<br/>";
    echo 
    "La stringa modificata<br />\n";
    echo 
    $stringa_modificata "<br />\n";
    echo 
    "Effettuate " $count " sostituzioni<br />\n";
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  2. #12
    Quote Originariamente inviata da ZioLuffio Visualizza il messaggio
    ...................
    Non credo sia giusto complicare le idee al ragazzo
    Grazie del ragazzo

    Comunque anche l'ultimo suggerimento di badaze non è male ... è da mantenere.
    Per uno come me che, da autodidatta, fa programmazione a basso livello tutto è ben accetto, serve ad allargare le mie conoscenze.

    Tanto per curiosità:
    la definizione
    Codice PHP:
    $pattern "~$p(?!.*$p)~"
    sarebbe equivalente a questa, vero?
    Codice PHP:
    $pattern "~[0-9]{4}(?!.*[0-9]{4})~"
    Grazie an entrambi.

  3. #13
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,360
    Quote Originariamente inviata da micdas Visualizza il messaggio
    Tanto per curiosità:
    la definizione
    Codice PHP:
    $pattern "~$p(?!.*$p)~"
    sarebbe equivalente a questa, vero?
    Codice PHP:
    $pattern "~[0-9]{4}(?!.*[0-9]{4})~"
    Si. Sono pigro e con l'ipad non è sempre facile fare un copia incolla.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  4. #14
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Si. Sono pigro e con l'ipad non è sempre facile fare un copia incolla.


    grazie ancora

  5. #15

  6. #16
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,360
    Quote Originariamente inviata da ZioLuffio Visualizza il messaggio
    Sarò ignorante, ma che vuol dire "?!" nel pattern?!?
    Si chiama "negative lookahead" (ci sono anche positive lookahead negative lookbehind e positive lookbehind)


    /[0-9]{4}(?!.*[0-9]{4})/;


    /element(?!pattern)/

    element corrisponde al primo [0-9]{4}
    pattern corrisponde a .*[0-9]{4}

    ?! significa "si catturano i soli (element) che non sono seguiti da (pattern)". Siccome l'ultimo anno non è seguito da un altro allora viene catturato.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  7. #17
    Il discorso si fa interessante. Quindi cerca proprio l'ultima occorrenza di quel che è descritto dal pattern?
    Ultima modifica di micdas; 11-10-2014 a 07:51

  8. #18
    Interessante.
    ho complicato la stringa in
    Codice PHP:
    $stringa "Giuseppe Garibaldi è nato a Nizza il 4 luglio 1821, vissuto tra il 1821 ed il 1882, morto a Caprera il 2 giugno 1882 alle 15.45"
    ed in effetti mi trova proprio l'ultima occorrenza del numero a 4 cifre.

  9. #19
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,360
    Le regexp sono potenti ma assai complesse da creare e da capire. Anche se riesco sempre a fare quello che voglio con loro non ci riesco quasi mai dalla prima volta.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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.