PDA

Visualizza la versione completa : [Java|Javascript|database] Apici all'interno di una stringa


dotty78
17-09-2002, 16:02
Ciao!:ciauz:

Ho un servlet Java che si interfaccia con un database. Memeorizzo in una stringa "stringa_app" il contenuto di una stringa contenututa in un campo di una tabella "stringa_originale".

stringa_originale può contenere all'interno apici e doppi apici.

Ad es. stringa_originale="Questa e' una "bella" gionata"

Siccome io richiamo questa stringa all'interno di istruzioni del tipo


out.println("<a style='cursor:hand' onMouseOver=\"this.className = 'red'; window.status='"+stringa_app+"';return true\" >stringa_app</a>");

Per evitare il problema io prima compio un replace degli apici, singoli e doppi, in spazi bianchi.


stringa_app=stringa_app.replace('\"',' ');
stringa_app=stringa_app.replace('\'',' ');[/


Come posso fare per evitare il replace in spazi bianchi e lasciare all'occorrenza apici singoli o doppi? :confused:

Grazie.

dotty78
17-09-2002, 16:04
.... il servlet java produce pagine html!!!

giskard
17-09-2002, 16:19
Non puoi evitare la replace, ma puoi sostuituire l'apice singolo con \' e l'apice doppio con \", e dovrebbe funzionare... in php funziona sicuramente

Riccardo

dotty78
17-09-2002, 16:58
sostuire all'interno del servlet java il carattere con se stesso?



descrizione_contenuto=descrizione_contenuto.replac e('\"','\"');
descrizione_contenuto=descrizione_contenuto.replac e('\'','\'');


Non credo che abbia senso....

Se provo così:



descrizione_contenuto=descrizione_contenuto.replac e('\"','&#34');
descrizione_contenuto=descrizione_contenuto.replac e('\'','&#35');

nemmeno funziona...:confused:

dotty78
17-09-2002, 17:02
ops... riscrivo il codice aggiungendo un +tra la & il valore esadecimale del carattere....


descrizione_contenuto=descrizione_contenuto.replac e('\"','&+34"');
descrizione_contenuto=descrizione_conten
uto.replace('\"','&+39"');

blueice
17-09-2002, 17:51
Il metodo replace vuole ( char oldChar, char newChar )

quindi nel tuo caso dovrai sostituire ' e " ed il codice sarà :

uto.replace('"','\"'); // nel caso all'interno del db c'è "
uto.replace(''','\''); // nel caso all'iterno del db c'è '

Fammi sapere ...

dotty78
17-09-2002, 18:11
....purtroppo JBuilder segnala degli errori....

Reale_Augello
18-09-2002, 11:49
... amica mia ! ;)

Provare una cosa del tipo ?

stringa_app=stringa_app.replace('\\"',' ');
stringa_app=stringa_app.replace('\\'',' ');

Non ho testato, quindi non garantisco nulla... :stordita:

dotty78
18-09-2002, 17:51
Ciao... my friend!

Ma con la soluzione che mi hai suggerito rimpiazzo apici e doppi apici con degli spazi bianchi... e io voglio che rimangango così come sono all'interno della stringa.....

Che casino!!!!!! :cry:

:ciauz:

Loading