[PHP] & kodieren *erledigt*

michse02

Well-known member
ID: 96795
L
6 Mai 2006
304
18
Erledigt

Moin,
folgendes Problem:

Ich schicken einen xml string in den post daten verpackt.

nehmen wir an da steht drin:
&xml=<root><element>a&b</element></root>

wenn ich das jetzt an ein Php script sende trennt er das für die $_POST variable ja an den & auf. Und genau das ist das Problem. Wie codiere ich das & zwischen a&b so, das dort nicht getrennt wird sondern das als stink normales Zeichen behandelt wird?
ich habe schon & und %26 getestet. Beides wird als Steuerzeichen interpretiert.


Jemand nen Vorschlag?
Gruß
michse02
 
Zuletzt bearbeitet:
funktioniert auch nicht. ich hab den parameter so übergeben:
&xml=<![CDATA[<root><element>a&b</element></root>]]>

und in $_POST['xml'] steht :
<![CDATA[<root><element>a

das wars...
 
was das & zeichen durch %26 ersetzt... und da schrieb ich schon das das nicht funktioniert ...

Ergebnis:
$_POST['xml']=<root><element>a
 
Hmm, seltsam, das das codierte senden nicht funktioniert.
Probiere mal testweiße den String per GET-Parameter zu übergeben und schau mal was da raus kommt. :)
 
hmm, mal ne dumme Frage:

aber kann man in ner URL auch nen Backslash setzen?
 
Und wenn du's doppelt erstetzt. Also das % noch durch %25 ersetzt.

Code:
%2526

dann kommt %26 an... also im prinzip richtig, nur das das und dann weg ist :-|

Hmm, seltsam, das das codierte senden nicht funktioniert.
Probiere mal testweiße den String per GET-Parameter zu übergeben und schau mal was da raus kommt.
Den String nicht, da der ca 1 MB lang ist...
Ich habs aber mal mit nem Teststring gemacht:
?test=kekse%26undso&nocheriner=test
Ergebnis ist wie es sein soll:
Code:
Array
(
    [test] => kekse&undso
    [nocheriner] => test
)
Bei Post daten aber nich :(

aber kann man in ner URL auch nen Backslash setzen?
Hab ich auch schon versucht. sowohl \ als auch \\ als auch \\\. Leider ohne erfolg... :(