Problem mit string-sub im Array
Sebastian K.
- javascript
0 wahsaga0 Sebastian K.0 wahsaga
Hallo,
Ich lese per Platzhalter einzelne Strings in ein Array ein, das sieht zum Beispiel so aus:
[Code]
var Tabellendaten = new Array( "%a", "%b", "%c" );
[/Code]
Mein Problem ist jedoch, das am Ende die ganze Sache im Klartext so aussieht:
[Code]
var Tabellendaten = new Array( "foo("bar")", "bla", "blub" );
[/Code]
Daraus ergibt sich jedoch der Fehler das gemotzt wird "')' erwartet" was ja so auch stimmt, ich bräuchte nun also eine Möglichkeit das beim einlesen eines Strings kontrolliert wird ob "verbotene" Zeichen enthalten sind und die entsprechend auskommentiert/ignoriert werden, also am Ende wäre die beste Lösung die rauskommen könnte:
[Code]
var Tabellendaten = new Array( "foo("bar")", "bla", "blub" );
[/Code]
Ich habe bisher jedoch nichts passendes für diesen javascriptfall gefunden. kann mir da jemand einen Tip geben?
Wäre dankbar
Schönen Abend noch
Sebastian K.
hi,
var Tabellendaten = new Array( "foo("bar")", "bla", "blub" );
Daraus ergibt sich jedoch der Fehler das gemotzt wird "')' erwartet" was ja so auch stimmt, ich bräuchte nun also eine Möglichkeit das beim einlesen eines Strings kontrolliert wird ob "verbotene" Zeichen enthalten sind und die entsprechend auskommentiert/ignoriert werden
ich würde versuchen, die nicht erlaubten zeichen im string mittels replace() zu ersetzen, http://selfhtml.teamone.de/javascript/objekte/string.htm#replace.
gruss,
wahsaga
hi,
var Tabellendaten = new Array( "foo("bar")", "bla", "blub" );
Daraus ergibt sich jedoch der Fehler das gemotzt wird "')' erwartet" was ja so auch stimmt, ich bräuchte nun also eine Möglichkeit das beim einlesen eines Strings kontrolliert wird ob "verbotene" Zeichen enthalten sind und die entsprechend auskommentiert/ignoriert werdenich würde versuchen, die nicht erlaubten zeichen im string mittels replace() zu ersetzen, http://selfhtml.teamone.de/javascript/objekte/string.htm#replace.
gruss,
wahsaga
Hallo,
Danke fuer deine Antwort, jedoch sehe ich das Problem das die Platzhalter (zB %a) nicht statisch definiert sind. Also das ganze laeuft so ab:
Es gibt einmal '%a = foo("bar")' die von einem externen Script definiert ist und dann in dieses Array geschrieben wird, wenn dieses geschrieben ist kommt durch diesen Platzhalter '%a' ein neuer String der dann anders aussieht, in der Praxis sieht das dann so aus:
So sieht das im externen Script aus wie das in das betroffene html file gepostet wird:
var Tabellendaten = new Array(
"%a", "%b", "%c"
);
Am Ende steht es dann so im html file:
var Tabellendaten = new Array(
"foo("bar")", "bla", "blub",
"foo2"bar2")", "bla2", "blub2",
"foo3("bar3")", "bla3", "blub3",
"foo4("bar4")", "bla4", "blub4",
"foo5("bar5")", "bla5", "blub5"
);
und ich glaub da bringt mich replace() nicht so weit, oder? Ich hoffe ich konnte es halbwegs verstaendlich erklaeren was ich meine
so long
Sebastian K.
hi,
Es gibt einmal '%a = foo("bar")' die von einem externen Script definiert ist und dann in dieses Array geschrieben wird, wenn dieses geschrieben ist kommt durch diesen Platzhalter '%a' ein neuer String der dann anders aussieht, in der Praxis sieht das dann so aus:
So sieht das im externen Script aus wie das in das betroffene html file gepostet wird:
var Tabellendaten = new Array(
"%a", "%b", "%c"
);
dann sorge dafür, dass schon das externe script beim ausgeben dieser platzhalter die nötige maskierung der anführungszeichen innerhalb der inhalte der platzhalter vornimmt.
wenn du das ganze serverseitig generierst, dann muss die umsetzung auch schon serverseitig erfolgen, clientseitig ist es zu spät, da dort schon "kaputtes" javascript ankommt.
gruss,
wahsaga