Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392

    [Regular Expressions]Primi passi, primi problemi

    Ciao Raga! Mi sto cimentando in questo nuovo mondo a me sconosciuto, e sto avendo alcuni problemi...
    codice:
    $stringa = "[ B]Ciao amico sono Andrea[/b] blablabla [ B] e sugnu catanisi [/B]";
    $espressione = "\[b\](.+)\[\/B\]";
    eregi($espressione, $stringa, $array) or die();
    print "<pre>";
    print_r($array);
    print "</pre>";
    Così mi tiro fuori ciò che è tra [ b] e [/b], però il mio problema è che, come nella stringa sopra citata, mi tira fuori
    Ciao amico sono Andrea[/b] blablabla [B] e sugnu catanisi
    Come posso fare per estrarre differentemente
    Ciao amico sono andrea
    e
    e sugnu catanisi
    ???
    Vi ringrazio per qualsiasi aiuto...

    PS: Ho messo gli spazi tra [ e b], che in realktà non ci dovrebbero essere

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <title>Untitled</title>
    </head>
    <body>
    <? 
    $stringa = "Ciao amico sono Andrea blablabla  e sugnu catanisi ";
    $espressione = "|\[[Bb]\](.+)\[\/[Bb]\]|U";
    preg_match_all($espressione, $stringa, $array);
    print "<pre>";
    print_r($array);
    print "</pre>";
     ?>
    </body>
    </html>

  3. #3
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392
    Originariamente inviato da badaze
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <title>Untitled</title>
    </head>
    <body>
    <? 
    $stringa = "Ciao amico sono Andrea blablabla  e sugnu catanisi ";
    $espressione = "|\[[Bb]\](.+)\[\/[Bb]\]|U";
    preg_match_all($espressione, $stringa, $array);
    print "<pre>";
    print_r($array);
    print "</pre>";
     ?>
    </body>
    </html>
    PCRE?

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    ?

  5. #5
    ereg, eregi e compagnia bella sono lenti, molto piu' lenti di preg e compagnia ...

    cmq guarda questo:

    codice:
    $stringa = "Ciao [ b ]amico sono Andrea[ /b ] blablabla  e [ b ]sugnu[ /b ] catanisi ";
    $espressione = "/(?i)\[ B\ ]([^\a]+?)\[ \/B\ ]/";
    $rimpiazzo = "\\1";
    echo preg_replace($espressione, $rimpiazzo, $stringa);
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #6
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392
    Originariamente inviato da andr3a
    ereg, eregi e compagnia bella sono lenti, molto piu' lenti di preg e compagnia ...

    cmq guarda questo:

    codice:
    $stringa = "Ciao [ b ]amico sono Andrea[ /b ] blablabla  e [ b ]sugnu[ /b ] catanisi ";
    $espressione = "/(?i)\[ B\ ]([^\a]+?)\[ \/B\ ]/";
    $rimpiazzo = "\\1";
    echo preg_replace($espressione, $rimpiazzo, $stringa);
    Mi potresti spiegare un pò come funge? Mi piacerebbe imparare qualcosa sulle Perl-Compatibili, ho già letto la pillola, ma ancora non capisco alcune cose...

  7. #7
    Originariamente inviato da PaTeR
    Mi potresti spiegare un pò come funge? Mi piacerebbe imparare qualcosa sulle Perl-Compatibili, ho già letto la pillola, ma ancora non capisco alcune cose...
    dimmi cos'e' che non capisci ...
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  8. #8
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392
    /(?i)\[ B\ ]([^\a]+?)\[ \/B\ ]/

    /(?i)
    che stà a dire?

    ([^\a]+?)
    ... [^\a]+? cosa indica?

    Del resto ho capito tutto

  9. #9
    Originariamente inviato da PaTeR
    /(?i)\[ B\ ]([^\a]+?)\[ \/B\ ]/

    /(?i)
    che stà a dire?
    stà a dire che e' case-insensitive



    Originariamente inviato da PaTeR
    ([^\a]+?)
    ... [^\a]+? cosa indica?
    indica tutto tranne un errore di parsing o l'uscita dal sistema ... in pratica tutto e basta, ma fino a [ /B ] , il 'fino a' lo assegna il ? dopo il +



    Originariamente inviato da PaTeR
    Del resto ho capito tutto
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  10. #10
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    1,392
    Originariamente inviato da andr3a


    Grazie di tutto

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.