Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    formattazione testo, non ne vengo a capo :-(

    ciao a tutti,

    scusate ... ho letto e riletto i vari messaggi sulle espressioni regolari ma non ne vengo a capo ... io voglio che le parole di una variabile comprese tra __ siano scritte sottolineate e quelle comprese tra ** siano in grassetto ma non ci riesco

    questo il mio codice:

    codice:
    $Testo = eregi_replace("(__)([a-z0-9\.-_]+)(__)", " <u>\\2</u> ", $Testo);
    
    $Testo = eregi_replace("(**)([a-z0-9\.-_]+)(**)", "\\2", $Testo);
    
    echo nl2br($Testo);
    qualcuno mi puo' aiutare?

    se lascio la prima eregi_replace mi funziona per i sottolineati (vorrei controllare che prima dei primi __ ci sia uno spazio e dopo gli altri __ ci sia uno spazio m credo che cosi' non lo faccia) ... invece se rendo attive enrtambe le eregi_replace mi da:

    eregi_replace(): REG_BADRPT
    "Quand ch’i-j ero ignorant, i cagavo al fond ëd la cort, adess chi soma sivilissà i cagoma ‘nt ëcà !"
    Il nonno di Corrado

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    28
    codice:
    if (ereg("([_]{2})([a-zA-Z0-9]+)([_]{2})", $Testo, $code)) {
         $code[1] = "<u>";
    	 $code[3] = "</u>";
        	$parola = $code[1].$code[2].$code[3];
        	$Testo = ereg_replace("([_]{2})([a-zA-Z0-9]+)([_]{2})", $parola, $Testo);
            $Testo = nl2br($Testo);
        	echo $Testo;
        }

  3. #3
    Originariamente inviato da ZackS
    codice:
    if (ereg("([_]{2})([a-zA-Z0-9]+)([_]{2})", $Testo, $code)) {
         $code[1] = "<u>";
    	 $code[3] = "</u>";
        	$parola = $code[1].$code[2].$code[3];
        	$Testo = ereg_replace("([_]{2})([a-zA-Z0-9]+)([_]{2})", $parola, $Testo);
            $Testo = nl2br($Testo);
        	echo $Testo;
        }
    grazie mille!
    ... con asterisco pero' non funziona :master:
    "Quand ch’i-j ero ignorant, i cagavo al fond ëd la cort, adess chi soma sivilissà i cagoma ‘nt ëcà !"
    Il nonno di Corrado

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    si può ancora migliorare:
    codice:
    $testo="__ciao__ **ciao**";
    $search=array("/([_]{2})([a-zA-Z0-9]+)([_]{2})/","/([*]{2})([a-zA-Z0-9]+)([*]{2})/");
    $replace=array("<u>$2</u>","$2");
    echo preg_replace($search,$replace,$testo);
    think simple think ringo

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    28
    Utilizza la soluzione di marketto, è la migliore

  6. #6
    Originariamente inviato da marketto
    si può ancora migliorare:
    codice:
    $testo="__ciao__ **ciao**";
    $search=array("/([_]{2})([a-zA-Z0-9]+)([_]{2})/","/([*]{2})([a-zA-Z0-9]+)([*]{2})/");
    $replace=array("<u>$2</u>","$2");
    echo preg_replace($search,$replace,$testo);
    ancora meglio ... ma con asterisco continuo a vedere **ciao** credo sia perche' asterisco nelle espressioni regolari vuol dire qualcosa, come faccio a dirgli di considerarlo come carattere e basta? (mi sento proprio tonto)
    "Quand ch’i-j ero ignorant, i cagavo al fond ëd la cort, adess chi soma sivilissà i cagoma ‘nt ëcà !"
    Il nonno di Corrado

  7. #7
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    opssss

    codice:
    $testo="__ciao__ **ciao**";
    $search=array("/([_]{2})([a-zA-Z0-9]+)([_]{2})/","/([\*]{2})([a-zA-Z0-9]+)([\*]{2})/");
    $replace=array("<u>$2</u>","$2");
    echo preg_replace($search,$replace,$testo);
    think simple think ringo

  8. #8
    Originariamente inviato da marketto
    opssss

    codice:
    $testo="__ciao__ **ciao**";
    $search=array("/([_]{2})([a-zA-Z0-9]+)([_]{2})/","/([\*]{2})([a-zA-Z0-9]+)([\*]{2})/");
    $replace=array("<u>$2</u>","$2");
    echo preg_replace($search,$replace,$testo);
    scusami, lo so che sono un rompipalle ... non funziona ancora se tra i caratteri __ __ o ** ** ci sono piu' parole o vocali accentate (le capiro' mai le espressioni regolari?)
    "Quand ch’i-j ero ignorant, i cagavo al fond ëd la cort, adess chi soma sivilissà i cagoma ‘nt ëcà !"
    Il nonno di Corrado

  9. #9
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    codice:
    $testo="__ciao__ **ciao**";
    $search=array("/([_]{2})(.+)([_]{2})/","/([\*]{2})(.+)([\*]{2})/");
    $replace=array("<u>$2</u>","$2");
    echo preg_replace($search,$replace,$testo);

    questa parte (.+) serve per prendere qualsiasi carattere 1 o più volte...
    think simple think ringo

  10. #10
    Originariamente inviato da marketto
    codice:
    $testo="__ciao__ **ciao**";
    $search=array("/([_]{2})(.+)([_]{2})/","/([\*]{2})(.+)([\*]{2})/");
    $replace=array("<u>$2</u>","$2");
    echo preg_replace($search,$replace,$testo);

    questa parte (.+) serve per prendere qualsiasi carattere 1 o più volte...
    azz' ... avevo capito solo il punto e non ci riuscivo ... mi serve il +!! (me tapino)

    gratias gratias gratias
    "Quand ch’i-j ero ignorant, i cagavo al fond ëd la cort, adess chi soma sivilissà i cagoma ‘nt ëcà !"
    Il nonno di Corrado

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.