LoremIpsum Geschrieben 16. November 2014 Geschrieben 16. November 2014 Hallo zusammen, Ich arbeite momentan an einem Projekt und benötige dringend Hilfe! Ich habe ein kleines Javascript Progrämmchen, welches Strings scannt und falls diese mit einer Zeichenkette übereinstimmen an einen nodeJS Server schickt und die Antwort dann durch den alten Text ersetzt. So sähe es in der Theorie aus: "Hello %username%" => Found %username% => Send "username" to the server => Server answer: "Benutzerkonto1" => Replace server answer with the current %username% Mein bisheriger Code: Function.scanForServerText(data, function(key) { console.log(key); }); scanForServerText: function(data, callback) { Object.keys(data).forEach( function(key) { if ( data[key] instanceof Object ) { Function.scanForServerText(data[key]); } else { var replace = data[key].toString().match("%(.*)%"); if ( replace ) { Connection.send(["getUserData", replace[1]], function(key) { if ( key && key.length ) { callback(key); } }); } } }); }, Ich hänge schon seit über einer Woche an dem Problem, zum einen wird das Callback in der scanForServerText Funktion undefined, zum anderen bin ich mir nicht sicher ob das wirklich die beste Lösung ist. Wie ich es auch drehe oder neu schreibe, es will nicht funktionieren. Wäre heilfroh über einen Hilfeansatz oder am besten einer Lösung:-) Grüße Zitieren
Heikooo Geschrieben 17. November 2014 Geschrieben 17. November 2014 Ich kann dir bei deinem eigentlichen Problem nicht viel helfen aber ich denke das dein RegExp da eventuell quer schiesst sobald du sachen wie "Hello %username% from %country%"... Dein RegExp würde hier durch das (.*) alles zwischen zwei %-Zeichen scannen. also auch "username% from %country". Du musst einen RegExp benutzen der Greedy nach dem nächstens % sucht und nur bis dahin Zitieren
LoremIpsum Geschrieben 17. November 2014 Autor Geschrieben 17. November 2014 Die Variable replace wird zu einem Objekt welches den input und das Ergebnis der Regex beinhaltet. Hat bis jetzt immer funktioniert wie es soll. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.