Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    chiamare funzione js in stringa php

    ciao a tutti!

    ho una domanda per voi....

    sto scrivendo una classe php che disegna un form... ho però trovato un'ostacolo che non so scavalcare....

    in una stringa sto preparando il testo html da stampare, quando voglio fare una chiamata ad una funzione js scrivo semplicemente il tag dell'evento e tra virgolette la funzione...

    codice:
    $field = "[img]path/to/image.png[/img]"
    se la funzione non ha parametri non ci sono problemi, ma se devo passare un parametro non posso...

    ho finito le virgolette a mia disposizione!!!!

    cosa faccio?

  2. #2
    Semplice: Usi il carattere speciale \": cioè il carattere virgoletta delle stringhe. se poi ne avessi bisogno una ancora più interna potrai usare \\\", cioè il carattere backslash delle stringhe (\\), più il carattere virgoletta nelle stringhe (\").
    In questo modo puoi andare avanti ad inserire virgolette in virgolette all'infinito, lo stesso per gli apici:
    codice:
    '
    \'
    \\\'
    \\\\\\\'
    \\\\\\\\\\\\\\\'
    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
    ecc...
    In pratica ogni volta che nidifichi ulteriormente devi mettere il doppio dei backslash più uno.

  3. #3
    avevo provato a mettere un backslash ma la console degli errori di firefox dice:
    unterminated regular expression
    e non viene chiamate la funzione...

    posto il codice...

    codice:
    $field .= "<div><input type='text' id='".$fld['name']."' name='".$fld['name']."'".$fwidth." style='float:left;'/><div style='float:left;margin-left:5	px;'>[img]ctrl/img/calendar.png[/img]</div></div>";
    ???

  4. #4
    Attenzione: i caratteri speciali non si scrivono con lo slash (/), ma con il backslash(\):
    codice:
    $field .= "<div><input type='text' id='".$fld['name']."' name='".$fld['name']."'".$fwidth." style='float:left;'/><div style='float:left;margin-left:5	px;'>[img]ctrl/img/calendar.png[/img]</div></div>";

  5. #5

    ........SCUSA

    grazie mille sei molto gentile!

  6. #6
    scusate ma su sta cosa veramente non ce la posso fare...

    se metto il backslash dice che è un "Illegal character"...

    devo usare stripslash??

  7. #7
    In che senso? Te lo dice Javascript o PHP?
    Non riesco proprio a capire...

  8. #8
    lo dice firefox.... dalla console degli errori...

    l'interprete non si aspetta questo \'

    ma non capisco...

  9. #9
    Siccome non mi piace lasciare le discussioni in sospeso ed ho risolto concludo....
    da quanto ho capito:

    Si possono aggingere livelli solo alle virgolette più esterne e quindi se la stringa è:

    "bla 'bla' bla"

    non posso fare: "bla 'b \'l\' a' bla"

    ma posso fare così: "bla 'b \"l\" a' bla"

    grazie per l'aiuto!! (non sono ironico grazie quit10)


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.