Willkommen in der Webstatt Zum Webstatt Blog und Stories
Barabbas Barabbas am 06.03.06 13:11

Hallo zusammen.

Ich versuche verzweifelt, ein paar Zeichen vernünftig anzeigen zu lassen, scheitere dabei allerdings kläglich.

Eigentlich ist mein Code jetzt schon zu unübersichtlich, um zu beschreiben, was da vor sich geht, aber ich versuche es trotzdem: Mein Parser gibt die Zeichen in Iso- Irgendwas (der Standard halt) zurück, ich muss diese Rückgabe aber per GET an ein Javascript übertragen, dass damit nichts anfangen kann. Also versuche ich, die Zeichenkette mit urlencode() in PHP zu verschlüsseln und mit JS wieder zu entschlüsseln, was natürlich nicht geht, da die JS- Funktion escape() mit urlencode() von PHP nichts gemein hat.
Also bin ich dazu übergegangen, die Sonderzeichen per RegExp zu ersetzen, doch auch das klappt nur teilweise, wie ihr auf dem Bild sehen könnt.
*kotz*

Also: Kennt jemand eine Funktion (php?) mit der ich meine Sonderzeichen verschlüsseln kann, so das JS sie liest? Und Achtung: Diese Funktion darf die niemals nicht HTML- Relevante Zeichen kodieren, "<" und ">" müssen mir also erhalten bleiben.

Ich hoffe auf eure Empathie, die Fähigkeit, das Problem, das ich selbst so wenig verstehe, dass ich es nicht beschreiben kann, zu erfassen und zu lösen.


hochachtungsvoll,

Barabbas

netcup.de Warum gibt es hier Werbung?
Barabbas Barabbas am 06.03.06 13:15

Sensationell.

Ich weiß nicht, was passiert ist, aber ich habe das Problem vorerst dadurch gelöst, dass ich in nachfolgender Zeile die 27 durch eine 26 ersetzt habe.

$str = preg_replace('/[^!-%\x27-;=?-~ ]/e', '"&#".ord("$0").chr(59)', $str);

Keine Ahnung, finde ich ziemlich professionell von mir, auf gut Glück ein paar Zahlen auszutauschen!

Heureka! Wer erklärts mir?

brb

milahu milahu am 06.03.06 14:06

Konvertiere die Ausgabe einfach mit utf8_encode() in UTF-8 und dekodiere den String in JavaScript :)

Nur ist mir nicht ganz klar wie du per GET etwas an ein JavaScript übergeben willst... JS is schließlich clientseitig.
Ich schätze mal, du meinst, dass du per PHP das entsprechende JavaScript generierst.. oder so ;)

Eleganter ginge das ganze dann mit "Ajax" - und es spart Traffic bei Clients, die JS deaktiviert haben :D

Barabbas Barabbas am 06.03.06 14:48

das ganze *ist* Ajax und mein JS sendet eine Get- Anfrage an mein PHP- Script.

Danke, Zero hat mir zu base64 geraten, werde beide Lösungen bei Zeiten testen

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt