Visualizzazione dei risultati da 1 a 8 su 8

Discussione: equivalente per eval()

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    133

    equivalente per eval()

    salve a tutti

    in un codice, non scritto da me, compare la seguente linea di codice:

    codice:
    eval("\$node = \"".str_replace("\"","\\\"",str_replace("\\n","\\\\n",$node))."\";");
    come la si può sostituire evitando di usare l'eval() ?

    io ho provato ad utilizzare qualcosa come

    codice:
    $node = str_replace("\"","\\\"",str_replace("\\n","\\\\n",$node));
    cioè semplicemente rimuovendo l'eval(), ma pare non si ottenga lo stesso effetto, che ammetto non capisco quale sia...

    un aiutino?

  2. #2
    mi puoi dire con precisioni le lettere o simboli che vuoi trasformare ?!
    DigitalWeb Italia - 333.7806821 / info@digitalwebitalia.it

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    133
    è questo il punto, non mi è chiara la trasformazione effettuata da quella eval(), probabilmente perchè non è "farina del mio sacco"...

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    la grande domanda è: perchè vuoi cambiare qualcosa che funziona e non sai cosa sta facendo?

  5. #5
    Per seguire una sintassi simile alla tua (ci sono altri modi per fare la stessa operazione), questa dovrebbe funzionare...

    $node = preg_replace('%"%s', '\"', preg_replace('%[\n]%s', '\n', $node));

    Tutti i "new line" si trasformano nella stringa '\n' ed a tutti i doppi apici viene fatto l'escape (slash davanti ad ognuno di essi)... ma è davvero quello che volevi?
    Michele
    King Of The Kill

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    133
    Originariamente inviato da nickcv
    la grande domanda è: perchè vuoi cambiare qualcosa che funziona e non sai cosa sta facendo?
    semplice, perche come si dice sempre "eval is evil", e volevo cercare un metodo più ortodosso per effettuare quella trasformazione

    Tutti i "new line" si trasformano nella stringa '\n' ed a tutti i doppi apici viene fatto l'escape (slash davanti ad ognuno di essi)... ma è davvero quello che volevi?
    solo provando lo saprò

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    prima però sarebbe opportuno scoprire cosa deve fare il codice, non credi? :P

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    133
    potrebbe essere un'idea ci daro un occhio

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.