"&"-Zeichen maskieren
seppel
- html
Hallo,
ich möchte bei einem URL-Aufruf einen Namen übergeben, der leider auch ein &-Zeichen enthalten kann. Wie maskiere ich dieses Zeichen?
Gruss und danke schon mal,
Seppel
Moin
& oder &
Gruß
rfb
hi,
& oder &
Das wäre die HTML-gerechte Notation eines &, das ein & sein soll.
Im Query-String eines URLs hat & aber eine Sonderbedeutung, soll dort also _kein_ & sein, wenn es Bestandteil eines Parameter-Wertes ist. (Ja, das klingt etwas meschugge - aber es ist noch früh ...)
%26 wäre deshalb m.E. die richtigere Variante.
gruß,
wahsaga
hola,
& oder &
Das wäre die HTML-gerechte Notation eines &, das ein & sein soll.
Im Query-String eines URLs hat & aber eine Sonderbedeutung, soll dort also _kein_ & sein, wenn es Bestandteil eines Parameter-Wertes ist. (Ja, das klingt etwas meschugge - aber es ist noch früh ...)%26 wäre deshalb m.E. die richtigere Variante.
egal wie es klingt ;) %26 ist genau das richtige für meinen URL-Aufruf! Vielen Dank die Herren.
Gruss,
Seppel
Hallo,
%26 wäre deshalb m.E. die richtigere Variante.
Hmm, ich habe bis jetzt immer & geschrieben und es keine Probleme festgestellt (das & wird ja beim rendern sowieso zu einem &). Habe ich da was übersehen?
mfg. Daniel
Hello out there!
%26 wäre deshalb m.E. die richtigere Variante.
Du meinst, http://example.net/?p1=foo&p2=bar%26baz&p3=quz würde sowas bewirken:
p1=foo
p2=bar&baz
p3=quz
Wird nicht '%26' schon vorher wieder zu '&', also als Trennzeichen interpretiert?
Sonst dürfte ich dein Posting nicht unter
http://forum.de.selfhtml.org/my/?t=146353%26m=949554 erreichen; tu ich aber.
^^^
See ya up the road,
Gunnar
hi,
Du meinst, http://example.net/?p1=foo&p2=bar%26baz&p3=quz würde sowas bewirken:
p1=foo
p2=bar&baz
p3=quz
Ja.
Wird nicht '%26' schon vorher wieder zu '&', also als Trennzeichen interpretiert?
Sollte m.E. nicht so sein.
Sonst dürfte ich dein Posting nicht unter
http://forum.de.selfhtml.org/my/?t=146353%26m=949554 erreichen; tu ich aber.
Nee, du erreichst das OP dieses Threads :-)
Wundert mich aber auch, bzw. erscheint mir dann eine serverseitig vorgenommene "Korrektur" zu sein, um fehlerhaft gesetzte Links zu "verbessern" ...
Wenn ich auf einem meiner Testsysteme
xyz.php?t=146353%26m=949554
aufrufe, und mir den Inhalt von $_GET ausgeben lassen, erhalte ich
Array
(
[t] => 146353&m=949554
)
(Andere Möglichkeit: Das ist mal wieder eine Besonderheit von PHP ...?)
encodeURIComponent('146353&m=949554')
gibt mir ja auch 146353%26m%3D949554 zurück - und wenn aus Javascript einen solchen Feldinhalt verschicken wollte (z.B. per AJAX), dann würde ich doch diese Methode zum Behandeln des Feldinhaltes nutzen.
gruß,
wahsaga
Hallo Gunnar.
Wird nicht '%26' schon vorher wieder zu '&', also als Trennzeichen interpretiert?
Sonst dürfte ich dein Posting nicht unter
http://forum.de.selfhtml.org/my/?t=146353%26m=949554 erreichen; tu ich aber.
^^^
Liegt es an mir, oder warum erscheint beim Aufrufen dieser Adresse der gesamte Thread in seiner Nested-List-Ansicht, welche ich jedoch nirgends verwende?
Einen schönen Donnerstag noch.
Gruß, Mathias
habe d'ehre Mathias
Sonst dürfte ich dein Posting nicht unter
http://forum.de.selfhtml.org/my/?t=146353%26m=949554 erreichen; tu ich aber.
Liegt es an mir, oder warum erscheint beim Aufrufen dieser Adresse der gesamte Thread in seiner Nested-List-Ansicht, welche ich jedoch nirgends verwende?
Bei mir auch. ohne %26 und mit & ist die Anzeige wieder normal.
man liest sich
Wilhelm
hallo Wilhelm,
Sonst dürfte ich dein Posting nicht unter
http://forum.de.selfhtml.org/my/?t=146353%26m=949554 erreichen; tu ich aber.Liegt es an mir, oder warum erscheint beim Aufrufen dieser Adresse der gesamte Thread in seiner Nested-List-Ansicht, welche ich jedoch nirgends verwende?
Bei mir auch. ohne %26 und mit & ist die Anzeige wieder normal.
Naja, die Antwort ist ganz einfach: Gunnars Link wird im Endeffekt als http://forum.de.selfhtml.org/my/?t=146353 interpretiert (von der Forensoftware) - und da da nur die Thread-Nummer drin ist und nicht die Message-ID, muss sich die Forensoftware irgendwie zwischen Nested- und Listenansicht entscheiden (Threaded geht ja nicht) - und in irgend einer Konfigurationsdatei ist halt "Nested" als Default eingestellt.
Das ist auch keine absichtlich eingebaute Fehlerkorrektur, sondern lediglich die Tatsache, dass die Forensoftware alles nach dem Gleichheitszeichen als Zahl inteprretiert - und dann eine Funktion wie strtol() anwendet - die ignoriert dann das Prozentzeichen und alles, was dahinter kommt. Eine genauere Prüfung der Eingabe findet nicht statt - und ist ja auch nicht nötig; wird nämlich eine Thread-ID angegeben, die es nicht gibt, dann wird einfach "Fehler" ausgespuckt - man kann also auch nichts an der Software kaputt machen mit falschen Angaben.
Fehlerkorrektur wäre, wenn die Software das %26 auch als & erkennen würde - nur das wäre an sich sinnlos, denn das %26 verwendet man ja wie im Thread bereits erwähnt gerade, um & in Parametern zu maskieren.
Viele Grüße,
Christian